2011-07-24 34 views

回答

2

定义helper方法:

public static void AddEventHandler(object obj, string eventName, Delegate handler) 
{ 
    if(obj == null) throw new ArgumentNullException("obj"); 
    if(eventName == null) throw new ArgumentNullException("eventName"); 
    if(handler == null) throw new ArgumentNullException("handler"); 

    var type = obj.GetType(); 
    var evt = type.GetEvent(eventName); 
    if(evt == null) throw new ArgumentException(
     string.Format("Event '{0}' is not defined by type '{1}'", eventName, type.Name)); 

    evt.AddEventHandler(obj, handler); 
} 

,并使用它:

AddEventHandler(yourButton, "Click", yourHandlerDelegate); 
0

在相关表单(Web窗体,运表)::在cs文件

// This will handle the event for the button named bntSubmit 
protected void btnSubmit_Click(object sender, EventArgs e) 
{ 
    // Code to handle click event 
} 

一般来说,大多数人(但不是全部)使用的事件处理程序<controlid>_<event>命名约定。像btnSumbit_Click为OnClick事件为一个id为btnSubmit的按钮。

对于ASP.NET,你需要设置(在设计窗体上双击也会产生存根)按钮的OnClick在标记(.aspx文件)属性:

<asp:Button ID="btnSubmit" OnClick="btnSubmit_Click" Text="Submit" runat="server" /> 

在Win Forms中,双击设计器上的按钮是生成方法存根的最快方法。

我没有在MVC或WPF中工作太多,但我想象过程是相似的,方法签名是相同的。