How to highlight the control when it gets focus?
c#, selectall, winforms
Solution
`sender` will be the target of the event.
You could cast `sender`:
MaskedTextBox maskedTextBox = sender as MaskedTextBox;
if (maskedTextBox != null) { maskedTextBox.SelectAll(); }
Or in C# 7,
if (sender is MaskedTextBox maskedTextBox)
{
maskedTextBox.SelectAll();
}
Another improvement is to use `TextBoxBase` and it will work with `TextBox` and `RichTextBox` as well.
Problem
I can highlight the text in an individual MaskedTextBox when it gets focus using: ``` this.myTextBox.SelectAll(); ``` But, I want to do it for all MaskedTextBox when a mouse click event occurs. Instead of adding 30 individual event method for each MaskedTextbox, I want to select all MaskedTextBox and have one event method to take care of it, ie: ``` private void MouseClickedForMaskedTextBox(object sender, MouseEventArgs e) { this.ActiveControl.SelectAll(); } ``` But SelectAll is not available for this.ActiveControl. Is there a way to get around it?