Sharing control event handlers

  • Thread starter Thread starter viboater
  • Start date Start date
V

viboater

This may be a dumb question, so bare with me.

Is it possible to detect which control triggered an event if I share an
Event Handler amoung multiple controls?

For example:


this.THIS_Btn.Click += new System.EventHandler(this.MyBtn_Click);
this.THAT_Btn.Click += new System.EventHandler(this.MyBtn_Click);


private void CancelBtn_Click(object sender, System.EventArgs e)
{
if THIS_Btn_Clicked
do_this();
else if THAT_Btn_Clicked
do_that();
}


Thanks
 
This may be a dumb question, so bare with me.

Is it possible to detect which control triggered an event if I share an
Event Handler amoung multiple controls?

For example:

this.THIS_Btn.Click += new System.EventHandler(this.MyBtn_Click);
this.THAT_Btn.Click += new System.EventHandler(this.MyBtn_Click);

private void CancelBtn_Click(object sender, System.EventArgs e)
{
if THIS_Btn_Clicked
do_this();
else if THAT_Btn_Clicked
do_that();
}

Thanks

The sender parameter is the actual control that raised the event.
 
In other words, you can use the following code:

private void MyBtn_Click(object sender, System.EventArgs e)
{
if( sender == THIS_Btn )
do_this();
else if( sender == THAT_Btn )
do_that();
}
 
Back
Top