MDI表格是否专注?

时间:2010-12-23 21:15:04

标签: c# winforms focus mdiparent

我有很多运气开发我的申请......直到现在 我的应用程序的主要表单是MDI父级,我没想到在我的测试中添加任何MDI子项,直到今晚。
令我惊讶的是,MDI父母现在似乎永远不会“专注”。永远不会调用Focus事件和OnFocus方法!我的意思是......它似乎是专注的,但没有任何代码内聚焦事件/方法有效。而是MDI儿童报告焦点。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

这是设计的。表单充当其他窗口控件的容器。控件获得焦点,用户与按钮或文本框进行交互。只有当表单没有任何控件时才会获得焦点,只是因为没有别的东西可以获得它。一旦你对它进行控制,MDI子窗体就会发生同样的事情。或者使用Panel或UserControl,其他容器控件类型。

表单包含Activate和Deactivate事件。 ActiveForm会告诉您一个当前处于活动状态。请注意活动聚焦之间的区别。