【问题标题】:How have 2 active forms at the same time?如何同时拥有 2 个活动表格?
【发布时间】:2017-09-08 12:03:01
【问题描述】:

我有一个带有工具条的主窗体。工具条上的按钮打开新的子表单。这些表格在 Y 方向上比主表格小。它们精确地绘制在 Mainform 上,您只能看到工具条。

Full-size image

现在我想按下工具条的另一个按钮来关闭当前活动的子表单并打开一个新的子表单。但是当我按下这样的按钮时,主窗口被绘制在子窗体上(这是可以理解的),但按钮事件没有被触发。比我需要再次按下按钮来打开一个新的子表单,这很不方便。

用到的代码如下

private void MenuButton_Click(object sender, EventArgs e)
    {
        menu_.SetDesktopBounds(0, 0, 1024, 668);
        menu_.Show();

        try { ssp.Close(); } catch { }
        help.Hide();
    }

如何在打开子表单后让工具条按钮保持活动状态?

【问题讨论】:

  • 同时激活两个表单是不行的,Windows 就是不支持它。
  • 您的问题不在于活动表格或数量,而只是焦点问题。向this question 寻求指导。
  • 不要在父表单上显示子表单,只需将它们添加到父表单中的面板。
  • @RezaAghaei 我该怎么做?我真的可以将整个表单添加到 UI 中的面板吗? DonBoitnott 谢谢你,但我无法让它工作。我添加了类并尝试了该功能,但似乎没有任何效果。我不知道我还需要更改哪些代码才能使其正常工作
  • @bask185,是的,你可以,只需设置它的Toplevel=false,然后将其添加到panel.Controls 集合中,然后调用它的Show 方法。

标签: c# forms winforms


【解决方案1】:

将工具条分离到另一个窗体,该窗体将控制在他上方可见的窗体。

【讨论】:

    猜你喜欢
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-01
    • 1970-01-01
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多