我在 WinForm
中使用 UserControl
来显示数据。
我还使用命令模式,以便 UserControl
注册一个(弱)事件并在触发命令时执行操作。
在 WinForm
上,我可以取消注册 Close
事件中的事件。但是 UserControl
上没有这样的事件。
我连接了我认为当 UserControl 不再位于显示堆栈中时会触发的事件,但找不到任何有用的东西。
为了解决这个问题,我检查 Parent
是否为空,并且这适用于大多数情况。
现在我想要另一个 UserControl
的子 UserControl
(将 UserControl
放入 TabControl
中) >) 并且当不再显示父控件时,子控件的 Parent
属性将不再为 null。
有什么方法可以知道UserControl
是否被使用?
到目前为止我已经尝试过:Dispose()
不会立即被系统调用,所以它没有用; IsVisible
也不会被系统更新;没有触发 Close
或 Unload
事件。
干杯。
最佳答案
控件上有一个 HandleDestroyed 事件可能适合您。
关于.net - 如何知道何时不再使用 UserControl(无 Close 事件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7256021/