【发布时间】:2010-09-12 04:47:51
【问题描述】:
我使用的是 Windows Vista 和 C#.net 3.5,但我让我的朋友在 XP 上运行该程序时遇到了同样的问题。
所以我有一个在后台运行的 C# 程序,系统托盘中有一个图标。我有一个低级键盘钩子,所以当我按下两个键(在本例中为 Ctr+windows)时,它会拉出应用程序的主窗体。表单在组合按键事件处理程序中设置为全屏:
this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;
所以它基本上可以工作。当我点击 CTR+Windows 时,无论我关注什么程序,它都会弹出表单。但有时,任务栏仍会显示在表单上,这是我不想要的。我希望当我按下那个组合键时它总是全屏显示。
我认为这与应用程序最初的焦点有关。但即使当我点击我的主窗体时,任务栏有时也会停留在那里。所以我想知道焦点是否真的是问题所在。似乎有时任务栏很顽固,不想坐在我的程序后面。
有人知道如何解决这个问题吗?
编辑:更多细节- 我正在尝试实现与将网络浏览器置于全屏模式或将 powerpoint 置于演示模式时相同的效果。
在窗口窗体中,您可以通过将边框样式设置为无并最大化窗口来实现。但有时由于某种原因,窗口不会覆盖任务栏。一半的时间。
如果我将主窗口放在最上面,当我单击它时,其他窗口会落在它后面,如果任务栏被隐藏,我不希望这样做。
【问题讨论】:
标签: c# .net winforms fullscreen keyboard-hook