2010-01-28 105 views
0

我的窗口中有几个MDI子窗体, MDI子窗体启动后会有一个子窗体 导致焦点机制变得怪异,意思是另一个MDI子窗口 将不会获得焦点,除非单击标题栏,否则在mdi子窗体的任何其他位置单击 都不会导致窗体焦点。如何防止单个MDI子窗体从其他mdi子窗体中偷取焦点

有什么想法?

+0

有几个自定义控件嵌入在mdi子控件(自定义控件,如日历/时间表像控件,这涉及到大量的鼠标点击/操作处理程序) 有没有办法找出默认的鼠标点击行为是什么? – aggietech 2010-01-28 17:51:05

+0

也有,出于某种原因,有时“字体”设置也可能混淆了表单的焦点,对此有何看法? – aggietech 2010-02-09 19:35:22

回答

1

如果我有足够的代表,因为这只是一个猜测,所以我会把它作为评论,因为问题中没有很多信息。

请确保MDI子代处理单击事件以确保将焦点设置为正在单击的窗体。我从来没有真正注意到这样的行为,唯一的想法是你在某种程度上覆盖了正在填充的其他MDI子项的默认鼠标点击行为,但由于我不认为你可以重写标题栏,因此我认为这是这就是为什么它仍然有效。

可以解释你在MDI内部做了些什么,这样我们就可以更好地理解可能导致这种行为的原因。

+0

感谢您的评论,至少这是一个开始,我认为这是正确的方向。 – aggietech 2010-01-28 23:28:36

+0

是的,对不起,我不能更具体地说,当你不确切地知道控制器正在发生什么时,有时很难分辨出来。 – msarchet 2010-01-29 00:36:46