2014-10-28 59 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