【发布时间】:2009-10-15 03:08:05
【问题描述】:
当我单击窗体的背景时,我想将焦点设置到 MDI 父窗体。但是,我可以让它设置焦点的唯一方法是调整表单大小。
当您单击 MDI Parent 时,我尝试使用鼠标单击事件、单击事件、按键事件等手动设置焦点,但这些事件均未触发。当您单击表单的背景时,有什么方法可以将焦点设置到 MDI 父级?
【问题讨论】:
当我单击窗体的背景时,我想将焦点设置到 MDI 父窗体。但是,我可以让它设置焦点的唯一方法是调整表单大小。
当您单击 MDI Parent 时,我尝试使用鼠标单击事件、单击事件、按键事件等手动设置焦点,但这些事件均未触发。当您单击表单的背景时,有什么方法可以将焦点设置到 MDI 父级?
【问题讨论】:
那个背景是一个单独的控件,试着在 MainForm.Controls 中找到它并分配它的点击事件。
【讨论】:
您可能想查看 Win32 WM_MDIACTIVATE 消息。既然我们已经讨论了一个可能的解决方案,那么真正的问题可以开始了:
我认为你应该仔细研究你想要完成的事情。您冒着(不一定会,但有风险)创建异常且令用户感到困惑的行为。为什么要移动焦点?搬家后你会怎么做?您将如何向用户表明这已完成?那么如何摆脱这种状态呢?
【讨论】: