多个按钮调用相同的功能。可以找出哪个按钮称为函数?

时间:2012-04-06 13:52:41

标签: c# email button

我有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);
            }
        }
    }

5 个答案:

答案 0 :(得分:5)

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

Button b = sender as Button;

答案 1 :(得分:2)

发件人对象是调用方法的按钮:

var buttonId = ((Button)sender).ID;

答案 2 :(得分:1)

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

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

答案 3 :(得分: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);
        }
    }
}

有关参考,请参阅this

答案 4 :(得分:1)

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

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

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

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

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

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