gpt4 book ai didi

forms - 如何自动将焦点返回到我的应用程序

转载 作者:行者123 更新时间:2023-12-03 15:47:12 31 4
gpt4 key购买 nike

我正在为我的应用程序设置一个简单的“启动菜单”,(有经验的)用户可以在其中选中或取消选中各种运行选项。启动菜单是一个简单的无边框形式,以模态方式显示,并带有

  • 退出按钮
  • 继续按钮,以及
  • 启动选项复选框

如果用户按住 F8 键,我会在启动应用程序时显示此启动选项对话框 - 我发现 Windows 不使用 F8,因此您实际上可以在单击我的 exe 快捷方式时按住 F8我的启动对话框打开。问题就在这里。

我的表单不会成为事件应用程序,而是托管我单击的快捷方式的资源管理器窗口会成为事件应用程序。如果我单击我的表单(启动对话框),它将获得焦点。如何使我的启动对话框“拉动”Windows 使其聚焦?

最佳答案

一般来说,你无法集中注意力。来自 Raymond Chen 的 Old New Thing 博客:

...the window manager sees no reason for the first instance to have any right to take the foreground. There is no evidence that the first instance is coming to the foreground in response to some user action.

There are a variety of ways of addressing this problem. The easiest way is simply to...

...outright stealing the focus is the wrong thing to do...

...Just because there's no good way to do something doesn't mean that you are automatically permitted to do it in a bad way.

问题是用户一直在向不属于您的程序提供输入。您无权仅仅因为您想要而获得焦点。

这可能不是你想要的答案,但它就是答案。微软一直在努力阻止试图窃取焦点的程序。您提出的任何解决方案都违反了规则,并且可能在将来的任何时候都不起作用。

<小时/>

...Just because there's no good way to do something doesn't mean that you are automatically permitted to do it in a bad way.

关于forms - 如何自动将焦点返回到我的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6365159/

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