Identify which textbox has fired a text changed event

后端 未结 3 1086
鱼传尺愫
鱼传尺愫 2021-01-19 05:19

I have a number of text boxes that are dynamically created via code.

I would like to be able to assign a generic event handler to all the textboxes for the text cha

相关标签:
3条回答
  • 2021-01-19 05:37

    The sender parameter contains which control has fired the event. You can cast it to a TextBox and get the name property from it:

    string propertyName = ((TextBox)sender).Name;
    
    0 讨论(0)
  • 2021-01-19 05:37

    My advice is to look at the base class hierarchy at MSDN and just cast the control to it and extract the properties defined on it:

    var name = ((ContentControl) sender).Name;
    

    this is also a good practice for a more generic implementation because casting it to 'TextBox' means you can apply the handling logic to that type of control only.

    0 讨论(0)
  • 2021-01-19 05:40

    Cast object sender(your textbox which fired event) to TextBox.

    If only one property is what you want then write

    string propertyName = ((TextBox)sender).Name; 
    

    But when more than one property is required, then it is better to create a Textbox variable and use it like.

    TextBox txtbox =  (TextBox)sender;
    

    Then you can use any property of it like

    string propertyName = txtbox.Name; 
    
    MessageBox.Show(proptertyName);
    MessageBox.Show(txtbox.Content.ToString());
    
    0 讨论(0)
提交回复
热议问题