我在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#中实现它?
答案 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);