Haste natürlich recht ...
Das ist die Basis Klasse mit den Event Handler
public partial class uiGridZeile : td.rex.RexUILib.Steuerelemente.uiVariableBaseControl
{
public uiGridZeile()
: base()
{
InitializeComponent();
lbVarBez.DataBindings.Add("Text", m_value, "VariableBez");
}
public uiGridZeile(CVariable _variable)
: base(_variable)
{
InitializeComponent();
lbVarBez.DataBindings.Add("Text", m_value, "VariableBez");
btnSet.Visible = !_variable.ReadOnly;
btnSet.DataBindings.Add("Enabled", m_value, "Dirty");
}
private void btnGet_Click(object sender, EventArgs e)
{
OnValueGet();
}
private void btnSet_Click(object sender, EventArgs e)
{
OnValueSet();
}
}
Der Code für den Event Handler vom Designer generiert
//
// btnGet
//
this.btnGet.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnGet.Location = new System.Drawing.Point(405, 4);
this.btnGet.Name = "btnGet";
this.btnGet.Size = new System.Drawing.Size(42, 23);
this.btnGet.TabIndex = 1;
this.btnGet.Text = "Get";
this.btnGet.UseVisualStyleBackColor = true;
this.btnGet.Click += new System.EventHandler(this.btnGet_Click);
//
// btnSet
//
this.btnSet.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnSet.Enabled = false;
this.btnSet.Location = new System.Drawing.Point(447, 4);
this.btnSet.Name = "btnSet";
this.btnSet.Size = new System.Drawing.Size(42, 23);
this.btnSet.TabIndex = 2;
this.btnSet.Text = "Set";
this.btnSet.UseVisualStyleBackColor = true;
this.btnSet.Click += new System.EventHandler(this.btnSet_Click);
Das ist die abgeleitete Klasse, die zusätzlich noch eine Textbox hat
public partial class uiSimpleTextboxZeile : td.rex.RexUILib.Steuerelemente.ValueGrid.uiGridZeile
{
public uiSimpleTextboxZeile()
: base()
{
InitializeComponent();
}
public uiSimpleTextboxZeile(CVariable _variable)
: base(_variable)
{
m_bKeinEreignis = true;
InitializeComponent();
txtWert.DataBindings.Add("Text", m_value, "Wert");
txtWert.Enabled = !_variable.ReadOnly;
m_bKeinEreignis = false;
}
private void txtWert_TextChanged(object sender, EventArgs e)
{
if (m_bKeinEreignis) return;
btnSet.Enabled = true;
}
}
Vielen Dank für Deinen Einsatz.