【问题标题】:Is MDI Form focused?MDI Form 是否专注?
【发布时间】:2010-12-23 21:15:03
【问题描述】:

我在开发我的应用程序时非常幸运......直到现在。
我的应用程序的主窗体是 MDI 父窗体,直到今晚我才考虑在测试中添加任何 MDI 子窗体。
令我惊讶的是,MDI 父级现在似乎永远不会“获得焦点”。永远不会调用 Focus 事件和 OnFocus 方法!我的意思是......它看起来很专注,但代码内聚焦事件/方法都不起作用。相反,MDI 子项报告焦点。

我该如何解决这个问题?

【问题讨论】:

  • 为什么需要焦点?您使用的是哪个 GUI 框架?
  • @David Heffernan,当然是 WinForms。 (据我所知,WPF 中没有 MDI ......) 编辑:我需要知道它是否专注于你以前帮助我的事情。 :)

标签: c# winforms focus mdiparent


【解决方案1】:

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

表单具有激活和停用事件。 ActiveForm 告诉你一个当前处于活动状态。注意 activefocused 之间的区别。

【讨论】:

  • 活动表单是否包含焦点控件? :D
  • 想一想,相信你会明白的:D
  • (删除了旧评论)这完全有效!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-17
  • 2017-04-25
  • 1970-01-01
  • 2021-09-17
  • 1970-01-01
相关资源
最近更新 更多