2014-10-28 22 views
0

想象一下這個應用程序在Vb.net中,我有2個面板和幾個按鈕。我正在將按鈕從面板移動到其他面板(通過捕捉拖放事件)。我達到了。控件失去子控件時的捕捉事件

現在我正在嘗試以下操作: 當面板失去某個子按鈕(或控件)時,是否有任何方法可以從面板中提起事件?

在此先感謝。

回答

1

面板控件似乎沒有在其子控件集合更改時觸發的事件。 source

要做的最好的事情是將其作爲drop事件的一部分來處理。想必你有一些代碼來確定按鈕是否被移動。如果這是真的,當面板失去控制時調用一個函數來完成你想要的任何事情。

+0

我明白你的意思。我可以檢測到任何控件的父級更改嗎?謝謝! – mzurita 2014-10-28 11:34:27

+1

因爲你想檢查我認爲所有控件繼承的控件類的事件:http://msdn.microsoft.com/en-us/library/system.windows.forms.control_events%28v=vs。 110%29.aspx 有一個事件'ParentChanged','Parent屬性值發生變化時發生'。 – 5uperdan 2014-10-28 11:42:01

+0

好吧,我明白了,謝謝你的信息! – mzurita 2014-10-28 11:44:00

2

試試這個事件,當控件已添加到面板:

Private Sub Panel1_ControlAdded(ByVal sender As Object, ByVal e As System.Windows.Forms.ControlEventArgs) Handles Panel1.ControlAdded 

End Sub 

而此時控制已經消除:

Private Sub Panel1_ControlRemoved(ByVal sender As Object, ByVal e As System.Windows.Forms.ControlEventArgs) Handles Panel1.ControlRemoved 

End Sub