如何在一个事件方法中添加不同的按钮单击?

时间:2016-06-01 16:33:00

标签: c# vb.net

我在VB.NET中有以下代码,它运行良好。

Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click, btn1.Click, btn2.Click, btn1.Click
    MsgBox("Hello world")
End Sub

似乎没有在C#中工作。我如何在C#中实现它?

3 个答案:

答案 0 :(得分:5)

在C#中它应该是这样的:

public Form1()
{
    InitializeComponent();
    // You should first subscribe the same handler to each button's click event:
    btnAdd.Click += btnAdd_Click;
    btn1.Click += btnAdd_Click;
    btn2.Click += btnAdd_Click;
}

void btnAdd_Click(object sender, EventArgs e)
{
    MessageBox.Show("Hello world");
}

答案 1 :(得分:1)

使用+=分配事件处理程序

您可以使用+=运算符表示您将成为特定按钮的wiring up an event handler delegate

// This will wire up the Click event to trigger your btnAdd_Click method
btnAdd.Click += btnAdd_Click;

// Wire up additional elements here
btn1.Click += btnAdd_Click;
btn2.Click += btnAdd_Click;

您的btnAdd_Click方法定义如下:

public void btnAdd_Click(sender As Object, e As EventArgs)
{
    MessageBox.Show("Hello world");
}

在ASPX页面中定义

此外,您可以使用Button公开的OnClick事件在ASPX页面中处理此问题:

<asp:Button ID="btnAdd" runat="server" ... OnClick="btnAdd_Click"></asp:Button>

答案 2 :(得分:0)

您必须手动将所有按钮的事件附加到单个事件处理程序,如下所示:

btnAdd.Click += new System.EventHandler(btnAdd_Click);
btn1.Click += new System.EventHandler(btnAdd_Click);
btn2.Click += new System.EventHandler(btnAdd_Click);