检测表格“消失”的原因?

时间:2012-05-24 14:01:09

标签: c# .net vb.net winforms

在我需要修复的大型旧应用程序中,我有两种形式,如图像(即记事本示例)

enter image description here

当我离开(使用鼠标光标)我的小(Y)形式的区域时,该形式将“消失”,有些像我点击大表格并激活它。

但是我没有点击X,X标题都没有激活,但是小Y形式向后移动并且不再可见。

如何追踪问题?

未跟踪ResizeActivatedDeactivateLostFocusGotFocusGiveFeedbackMdiChildActivate中的任何一项当我离开Y区域时,这两种形式中的任何一种......

4 个答案:

答案 0 :(得分:1)

尝试覆盖表单Y的OnVisibleChanged并在此处设置断点。在调试期间重现情况并检查属性Form.Visible为false并检查比调用堆栈。

答案 1 :(得分:1)

据我所知,这是一个全系统的事情;我认为它叫做 active window tracking

可能想尝试禁用它。

答案 2 :(得分:1)

进行多项测试我发现了问题: Y 表格由 Deactivate X d表示,因为MouseMove上的X事件在(X)表单内的特定控件上产生了一个Focus()......

感谢大家的帮助!

(PS。所以,关于Deactivate事件的最初帖子我错了)

答案 3 :(得分:0)

你可以将'Y'TopMost属性设置为'True'这样它永远不会消失在'X'之后。 (假设'X'的'Topmost'属性不正确。