如何检测winform usercontrol DesktopLocation何时更改

时间:2011-07-05 07:48:56

标签: .net winforms user-controls location desktop

根据标题,用户控件如何检测它在桌面上的位置何时发生变化?

E.g检测窗口是否已拖过桌面,或者某个更高级别的容器已在顶层窗口中移动,例如滑动面板类型的控件

与LocationChanged事件的工作方式类似,但这仅在用户控件已在其容器内移动时才有效。

理想情况下,如果控件通过windowsformhost

托管在WPF中,则可以使用

1 个答案:

答案 0 :(得分:0)

如上所述,你的方法应该避免......我可以建议去寻找别的东西......

但是框架允许您在移动事件中注册...

此事件存在于您的控件中,表示您的控件在其父容器中的移动...
它也存在于父控件中,表示父控件在“祖父母”容器中的移动...
等...

因为一个控件知道它的父控件,所以你可以走到那个控制链直到你到达顶层控件,并注册该链上的每个控件移动事件......这样你应该在屏幕位置改变时得到通知......

我提到过你不应该这样做吗? ......好吧,你被警告了......