2012-03-29 80 views
1

我有一個可以多次添加到表單的自定義控件。這個自定義控件在同一個表單上可能會出現多次。這些控件是由用戶添加和刪除的。用戶可以右鍵單擊自定義控件中的某個控件來顯示菜單。從自定義控件中增加事件動態添加到表格

從這個菜單中選擇一個項目時,應該在表單上提出一個事件。我做了一個自定義事件,並意識到如果控件是動態添加的,它將不可用,因爲表單不知道它。我無法添加引用不存在的控件的事件處理程序。有沒有其他的方式來從自定義控件,不需要表單知道它的形式提出一個事件?順便說一句,我的自定義控件被添加到FlowLayoutPanel。 感謝您的幫助!

回答

3

當您添加控件時,您只需在代碼中連接事件處理程序,例如

MyButton.Click += ButonClickEventHandler; 
Page.Controls.Add(MyButton) 
+0

謝謝,我認爲這會比這更復雜。這完全解決了我的問題。 – Fjodr 2012-03-29 18:13:14

0

同意本 - 否則,有這樣做的麻煩方式(取決於如何控制設置)。例如INotifyPropertChanged Inerface或通過Windows API消息傳遞(和偵聽器) - 但除非你有一個非常奇怪的設置,然後正如Ben所說,添加控件時只需添加一個處理程序。您始終可以使用通用回調方法並使用自定義事件參數來識別哪個觸發了它。

相關問題