最新版本在主窗口之前显示一个启动画面,现在启动画面到达前景,但主画面并不总是在主窗口结束.有时确实如此,有时却没有. (从命令行启动时,它总是不会).当主窗口未到达前景并获得焦点时,任务栏图标显示为稳定的橙色.
我在网上看到很多关于MS如何添加一个工具以防止应用程序从其他人那里窃取焦点,以ForegroundLockTimeout注册表设置和相关设置为中心,但上面描述的不同版本的行为发生在同一台机器上.
在最终创建时,我尝试在主窗体中调用Activate,以及SetForegrounDWindow,都无济于事.
任何帮助表示赞赏.
解决方法 您可能应该将启动画面设置焦点设置为主应用程序窗口,因为它将消失.至于Window知道您的启动画面是您的应用程序,因为它是在该过程开始后显示的第一个顶层窗口.因此,该窗口获得焦点,但任何试图抓住同一个应用程序启动(图标点击/运行命令)的其他窗口被认为是一个焦点小偷.
您可以通过让Window认为有权将焦点转移到新窗口的窗口来解决这个问题.
因此,在飞溅被破坏之前,你应该在主窗口上溅起SetFocus.如果你破坏焦点窗口,那么焦点就无处可去,这可能是您应用中当前正在发生的事情.
总结以上是内存溢出为你收集整理的c# – 关于应用程序没有在XP / W2K3中获得焦点的问题全部内容,希望文章能够帮你解决c# – 关于应用程序没有在XP / W2K3中获得焦点的问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)