Getting control name for an event

前端 未结 2 1469
深忆病人
深忆病人 2020-12-06 07:36

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 bu

相关标签:
2条回答
  • 2020-12-06 08:13

    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;
    
    0 讨论(0)
  • 2020-12-06 08:26

    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 asoperator:

    var button = sender as Button;
    if (button != null)
    {
        button.Name ...
        ...
    }
    
    0 讨论(0)
提交回复
热议问题