2008-09-26 49 views
1

我正在處理將顯示鏈接以打開不同類型報告的窗體。該系統具有不同類型的用戶,因此用戶只能看到他們可以訪問的報告類型的鏈接。如何在.NET中使用LinkLabels的ArrayList創建LinkClicked事件

目前,我設置的方式是我有一個ArrayList的LinkLabels,但我遇到的問題是如何爲ArrayList中的每個LinkLabel創建一個LinkClicked事件,以便它將調出一個表單具體到每個報告。

回答

2

您可以將相同的事件處理程序的每個LinkLabel的在你的清單,並從sender參數的具體LinkLabel的。

2

實際上,我會爲所有鏈接標籤(在ArrayList的數據綁定過程中添加處理程序)使用要在LinkLabel的CommandName標籤中加載的報告的名稱。當事件處理程序觸發時,您可以檢查CommandName屬性並觸發適當的功能來加載給定的報告。

0

絕對推薦所有動態LinkLabel實例的單個事件處理程序。

我通常使用一個哈希表,其中的關鍵是LinkLabel的實例和價值的東西,將click事件中使用(如報表實例,如果合適的話)。

然後在點擊事件中,你使用(例如)

Report r = m_TheTable[sender] as Report; 
if(r != null) r.DoSomething();