-1
我有一個自定義的FlowLayoutPanel:一個「AlbumFlowLayout」,它從FlowLayoutPanel繼承並用於存放UserControls(「AlbumItems」)的集合。通常情況下,這將駐留在形式(「FrmMain」)上,使項目的層次是:當子控件被實例化時添加一個事件處理程序
Form ("FrmMain")
AlbumFlowLayout ("AlbumFlowLayout1")
AlbumItems (1 or more)
[有什麼辦法/什麼是協議]添加一個「WasClicked」處理程序創建的AlbumItem每當它創建/添加到AlbumFlowLayout?
理想情況下,我想封裝AlbumFlowLayout中的處理程序構造代碼,以便在FrmMain中的代碼執行新的AlbumItem的AlbumFlowLayout.Controls.Add時自動發生,而不是在FrmMain add中添加第二行處理器添加控件之前,例如:
Dim myItem As New AlbumItem
AddHandler myItem.WasClicked, AddressOf AlbumFlowLayout1.AlbumItem_WasClicked
AlbumFlowLayout1.Controls.Add(myItem)
謝謝! -Pete
容器控件包含一個ControlAdded事件,您可以在其中進行連接。不知道這是否符合*自動* – Plutonix
完美!這正是我需要的。如果您願意,請添加您的答案作爲答案,我會將其標記爲正確答案。 – pbickford