从textbox_Leave方法中的文本框中获取文本

时间:2015-07-21 12:26:35

标签: c# winforms textbox

这是我动态添加文本框的代码。现在我需要从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);
    }

1 个答案:

答案 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);
    }
}