In my C# Windows Forms form I have some buttons which are dynamically generated. I assigned the following method on the click event. Is it possible to get the name of the button from which the event is triggered?
private void btnBrowsDoc_Click(object sender, EventArgs e)
{
try
{
if (openFileDialog1.ShowDialog().Equals(DialogResult.OK))
{
gbxDocument.Controls["txtDocument" + count].Text =
openFileDialog1.FileName;
}
else
{
return;
}
}
catch (Exception ex)
{
//handle the exception
}
}
You can use the sender
argument. That is the Control (the button in this case) that has raised the click event:
var button = (Button)sender;
button.Name ...
N.B.: In case you have subscribed other controls (e.g. panels, etc.) to the same event handler, you can check if the sender is a button using the as
operator:
var button = sender as Button;
if (button != null)
{
button.Name ...
...
}
The first argument of the event handler, "object sender
", contains a reference of an object/control which raised/fired an event.
var button = sender as Button;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With