gpt4 book ai didi

c# - 使用 HelpProvider 类显示帮助,UI 总是在帮助窗口后面

转载 作者:太空狗 更新时间:2023-10-29 20:11:53 24 4
gpt4 key购买 nike

我有一个使用 HelpProvider 类的 C# Winforms 应用程序。每当我按 F1 调出帮助时,帮助窗口将始终位于我的应用程序之上,我无法将我的应用程序 UI 置于前台。我仍然可以与我的 UI 交互,但帮助窗口将保留在顶部。

这是 HelpProvider 设计的吗?还是我遗漏了什么?

最佳答案

这个问题有一个解决方案,有点脏,但它有效。问题是,HelpProvider 打开的帮助窗口始终位于其 窗口控件之上,它由 Help.ShowHelp 的第一个参数中的 Control 实例确定。即使您在那里指定了 null,主应用程序窗体仍然用作父窗口。为避免这种情况,可以创建一个虚拟表单,用作帮助父表单。此表单将永远不会显示,但帮助窗口仍将位于其“之上”,实际上不在所有其他应用程序窗口之上。

public static class AppHelp
{
private static Form mFrmDummyHost = new Form();

public static void ShowChm()
{
Help.ShowHelp(mFrmDummyHost, "my_help.chm");
}
}

当然,所有其他 Help.ShowHelp 重载也可以这样调用。

希望这可以帮助像我这样的人寻找永不过时的问题的答案;)

关于c# - 使用 HelpProvider 类显示帮助,UI 总是在帮助窗口后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3569793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com