这是我动态添加文本框的代码。现在我需要从textbox_leave函数中的文本框中获取文本以获取保存功能。 我还需要文本框中的其他属性。我怎么能得到那些?
Label makeLabel = new Label();
makeLabel.Width = 120;
makeLabel.Height = 21;
makeLabel.Location = new Point(20, 60 + 2 * z * makeLabel.Height);
makeLabel.Name = e.Node.Text;
makeLabel.Text = e.Node.Nodes[z].Text;
this.Controls.Add(makeLabel);
panel1.Controls.Add(makeLabel);
TextBox textbox = new TextBox();
textbox.Width = 400;
textbox.Height = 15;
textbox.Location = new Point(140, makeLabel.Location.Y-5);
textbox.Name = e.Node.Text + "lbl";
textbox.Text = service.oldDescription(e.Node.Text, e.Node.Nodes[z].Text);
textbox.Leave += new System.EventHandler(this.textbox_Leave);
this.Controls.Add(textbox);
panel1.Controls.Add(textbox);
}
}
private void textbox_Leave(object sender, EventArgs e)
{
string textboxtext=
MessageBox.Show(textboxtext);
}
答案 0 :(得分:4)
您可以使用参数:sender
。然后将其投射到适当的对象。然后您可以访问调用此事件的对象。
private void textbox_Leave(object sender, EventArgs e)
{
var textbox = sender as TextBox;
if (textbox != null)
{
string textboxtext = textbox.Text;
MessageBox.Show(textboxtext);
}
}