2015-07-21 45 views
0

這是我的動態添加文本框的代碼。現在我需要從textbox_leave函數的文本框中獲取保存函數的文本。 此外我需要從文本框中的其他屬性。我怎樣才能得到這些?從文本框中獲取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); 
    } 

回答

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); 
    } 
} 
+0

非常感謝! –