嗨全部 我的朋友說:「在c#中,每個事件處理程序都綁定到名稱爲On的方法...」。 我的意思是,例如,組合框的SelectedIndexChanged綁定到名爲OnSelectedIndexChanged的方法。C#:事件處理程序如何綁定到名爲「On .....」的方法?
我的問題是:我怎麼能看到它?
如果可能,請告訴我更多。
謝謝
嗨全部 我的朋友說:「在c#中,每個事件處理程序都綁定到名稱爲On的方法...」。 我的意思是,例如,組合框的SelectedIndexChanged綁定到名爲OnSelectedIndexChanged的方法。C#:事件處理程序如何綁定到名爲「On .....」的方法?
我的問題是:我怎麼能看到它?
如果可能,請告訴我更多。
謝謝
以「On ....」開頭的方法被用作約定。這些方法不是「 「以任何方式與事件或事件」綁定「(考慮到普遍接受的註冊事件的定義/程序)。
他們實際上做的是提高以下「開」字頭的話建議的事件。
例如:
protected void OnSelectedIndexChanged(EventArgs e)
{
if(SelectedIndexChanged!= null)
SelectedIndexChanged(this, e);
}
其中某處像這樣定義SelectedIndexChanged事件:
public event EventHandler SelectedIndexChanged;
公約和.NET的做法指出,每個事件,你應該有一個重寫保護方法那引發了事件。
在派生類中,你可以做這樣的事情:
protected override void OnSelectedIndexChanged(EventArgs e)
{
base.OnSelectedIndexChanged(e);
// your custom code here
}
注:要絕對正確的,這個事件和其他人可能使用不同的派生類型從EventArgs
類,但概念是相同的。
你的說法不完全正確的。
只要該方法具有所需的簽名,就可以將任何方法綁定到該事件。 並不是每個事件都與一個方法有關,並且並不是每個方法都以「Onxxx」開頭。命名約定在開發人員中很受歡迎。 (默認情況下Visual Studio的命名約定是[組件名稱] _ [事件名稱]
您可以從設計視圖,屬性子面板,選擇事件選項卡(圖標類似於暴風雨)你會得到事件列表和方法(如果有的話)
這是類設計約定,而不是.NET強制執行的事情,大多數.NET和第三方庫使用這個約定,它的簡單代碼,需要被編碼以符合這個約定,如果你想問這個,它不是自動的,
謝謝利維烏先生M.這正是我正在尋找的。 – odiseh 2011-01-11 07:43:42