2012-08-31 84 views
0

我納悶你怎麼看待不同類型的傳遞數據的當按鈕被點擊:
傳遞數據時,按鈕點擊

我的問題是,我有很多的按鈕和按鈕被點擊時,我需要創建特定子類的新實例(從公共基類繼承)。我搜索了論壇和互聯網,發現了一些解決方案。


1.製作一個將爲每個按鈕調用的方法。 。

btnFirstClass_Click(object sender, EventArgs e) 
{ 
BaseClass myRef = new FirstClass(); 
} 


2.使用按鈕的名稱或Text屬性(我認爲這是最糟糕的選擇。)

3.使用標記屬性,賦予它與在設計一個string和創造價值在switch

4.使用Tag屬性派生類,當特定的按鈕被點擊檢索標籤在默認情況下並 特定的類的實例分配給它。

btnFirstClass_Click(object sender, EventArgs e) 
{ 
BaseClass myRef = new ((Button)(sender)).Tag(); 
} 


的問題是,這是其中最好的呢?

+3

所以,如果你已經知道的比一個解決方案的更多,你爲什麼連問?請注意,我們期待問題,而不是討論。 – 2012-08-31 18:43:51

+3

我認爲他的問題是:「哪種方法最好?」 –

+0

不知道我是否理解這個問題,但我認爲你應該嘗試編寫一些派生自EventArgs(ExtendedEventArgs)的類,並且在派生自BaseClass的類中覆蓋Click事件以發送此ExtendedEventArgs(ExtendedEventArgs),其中包含處理程序中需要的數據) – saul672

回答

3

從微軟的網頁:

的標籤屬性的常見的用途是存儲緊密 與控制相關的數據。例如,如果您有一個控制 顯示有關客戶的信息,則可以將 中包含客戶訂單歷史記錄的DataSet存儲在該控件的標籤屬性 中,以便可以快速訪問數據。

所以我會去與Tag財產。

來源:http://msdn.microsoft.com/en-us/library/system.windows.forms.control.tag.aspx

相關問題