2011-07-24 32 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中工作太多,但我想象過程是相似的,方法簽名是相同的。