Identify which textbox has fired a text changed event
10,539
Solution 1
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;
Solution 2
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());
Author by
user589195
Updated on June 04, 2022Comments
-
user589195 almost 2 years
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 changed even and then within the handler determine which text box has fired the event.
Code I have is:
txtStringProperty.TextChanged += TextBoxValueChanged; private void TextBoxValueChanged(object sender, RoutedEventArgs e) { string propertyName = // I would like the name attribute of the textbox here }
Please let me know if you require anymore information.