我刚刚开始使用c#,并且想知道是否有更简单的方法来为控件创建事件处理程序。例如,如果我在webform上有一个按钮,我想要一个单击处理程序,我只需打开设计器并双击它就可以创建并连接到我。如果我没有选择使用设计师,除了手工之外还有什么方法可以创建它?例如,在VB中,所有控件都显示在代码窗口下拉列表中,因此您可以选择它们,选择一个事件并将其删除。在c#中是否有类似的东西,或者我是不是很难坚持下去?
答案 0 :(得分:7)
当然,你可以自己完成设计师为你做的工作。 只需添加:
button1.Click += new System.EventHandler(button1_Click);
并创建一个适合调用的方法:
private void button1_Click(object sender, EventArgs e) { // button1 was clicked }
答案 1 :(得分:4)
它有多难? 只需写下
yourComponent.YourEvent += >Cursor is here<
现在您应该看到一个提示,通过点击[tab],您将获得针对此特定事件的方法实现。
很好,很容易。完全没有必要用不存在的东西污染导航下拉列表。 ; - )
答案 2 :(得分:2)
为什么每个人都建议一个新的EventHandler对象?冗余
button1.Click += MyHandler;
private void MyHandler(object sender, EventArgs args)
{
}
或使用C#3.0
button.Click += (sender, args) => Handler();
答案 3 :(得分:1)
如果您甚至不想创建函数,则可以使用lambdas,例如,事件处理程序非常简单。
您可以执行以下操作:
radioButtonLeft.Click += new EventHandler((sender, e) => CallSomeMethod(1));
这是我找到的最简单的方法。