1

我有 5 个按钮将调用此弹出功能来发送电子邮件。如何确定哪个单击的按钮调用了该函数?

   public void popup(object sender, EventArgs e)
    {

        if (MessageBox.Show("You may not Bind, Change, Or Alter Insurance Coverage through e-mail. Confirmation of this e-mail by us initiates any changes to your Insurance. If you need any immediate service please contact our office at 1-800-875-5720.", "IMPORTANT!", MessageBoxButtons.OKCancel) == DialogResult.OK)
        {

            {
                string email = "mailto:davidadfa.t@ifdafdadf.com";
                Process.Start(email);
            }
        }
    }
4

5 回答 5

5

事件处理程序上的sender对象将是被按下的按钮

Button b = sender as Button;
于 2012-04-06T13:54:17.627 回答
2

sender 对象是调用该方法的按钮:

var buttonId = ((Button)sender).ID;
于 2012-04-06T13:57:22.010 回答
1

您的事件中的发件人是已单击的 Button 对象。

但是,如果您需要知道,也许最好稍微重构您的代码并设置单独的按钮单击事件并将该功能移动到另一个方法中,然后从各种单击事件中调用它并最终发送参数

于 2012-04-06T13:54:27.013 回答
1

尝试

public void popup(object sender, EventArgs e)
{
Button TheButtonClicked = sender as Button; // this gives access to the button 

    if (MessageBox.Show("You may not Bind, Change, Or Alter Insurance Coverage through e-mail. Confirmation of this e-mail by us initiates any changes to your Insurance. If you need any immediate service please contact our office at 1-800-875-5720.", "IMPORTANT!", MessageBoxButtons.OKCancel) == DialogResult.OK)
    {

        {
            string email = "mailto:davidadfa.t@ifdafdadf.com";
            Process.Start(email);
        }
    }
}

参考请看这个

于 2012-04-06T13:56:42.253 回答
1

http://msdn.microsoft.com/en-us/library/3exstx90.aspx

  1. 选择要将事件处理程序连接到的控件。

  2. 在“属性”窗口中,单击“事件”按钮 ()。

  3. 单击要处理的事件的名称。

  4. 在事件名称旁边的值部分中,单击下拉按钮以显示与您要处理的事件的方法签名匹配的现有事件处理程序的列表。

5 .从列表中选择适当的事件处理程序。代码将添加到表单中以将事件绑定到现有事件处理程序。

于 2013-07-08T07:09:54.470 回答