【问题标题】:C# MDI Parent Gain Focus by clicking on MDI Parent backgroundC# MDI Parent 通过单击 MDI Parent 背景获得焦点
【发布时间】:2009-10-15 03:08:05
【问题描述】:

当我单击窗体的背景时,我想将焦点设置到 MDI 父窗体。但是,我可以让它设置焦点的唯一方法是调整表单大小。

当您单击 MDI Parent 时,我尝试使用鼠标单击事件、单击事件、按键事件等手动设置焦点,但这些事件均未触发。当您单击表单的背景时,有什么方法可以将焦点设置到 MDI 父级?

【问题讨论】:

    标签: c# focus click parent mdi


    【解决方案1】:

    那个背景是一个单独的控件,试着在 MainForm.Controls 中找到它并分配它的点击事件。

    【讨论】:

    • 顺便说一句,这是一个很棒的答案。我从来没有说过谢谢。
    【解决方案2】:

    您可能想查看 Win32 WM_MDIACTIVATE 消息。既然我们已经讨论了一个可能的解决方案,那么真正的问题可以开始了:

    我认为你应该仔细研究你想要完成的事情。您冒着(不一定会,但有风险)创建异常且令用户感到困惑的行为。为什么要移动焦点?搬家后你会怎么做?您将如何向用户表明这已完成?那么如何摆脱这种状态呢?

    【讨论】:

    • 基本上,我使用的是 Janusys UI Suite。 UIPanelManager 很棒。但是,我的用户抱怨弹出窗口太粘,您不能只单击任何地方让它们重新弹出 - 任何地方都是 MDI 父级。他们想点击 MDI Parent 的背景来自动隐藏弹出面板。谢谢 Henk,我这辈子都不知道如何将焦点放在点击上,我已经测试并确认了你写的内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多