我使用的是Windows Vista和C#.net 3.5,但我让我的朋友在XP上运行程序并遇到同样的问题.
所以我有一个C#程序,我在后台运行,在SystemTray中有一个图标.我有一个低级键盘钩,所以当我按下两个键(在这种情况下为Ctr +窗口)时,它将拉动应用程序的主窗体.在组合键按下甚至处理程序中将表单设置为全屏:
this.FormBorderStyle = FormBorderStyle.None; this.WindowState = FormWindowState.Maximized;
所以它基本上有效.当我点击CTR + Windows时,它会调出表单,无论我关注哪个程序.但有时候,任务栏仍然会显示在我不想要的表单上.当我按下那个键组合时,我希望它始终是全屏的.
我认为这与应用程序最初关注的内容有关.但即使我点击我的主表单,任务栏有时也会停留在那里.所以我想知道焦点是否真的是问题.看起来有时候任务栏很顽固,并且不想坐在我的程序后面.
任何人有任何想法如何解决这个问题?
编辑:更多详细信息 - 当您将其置于全屏模式或将powerpoint置于演示模式时,我试图获得与Web浏览器相同的效果.
在Windows窗体中,您可以将边框样式设置为none并最大化窗口.但有时窗口不会出于某种原因覆盖任务栏.一半的时间.
如果我将主窗口放在最顶层,那么当我点击它时其他窗口会落在它后面,如果任务栏被隐藏,我不想要它.
试试这个(this
你的表格在哪里):
this.Bounds = Screen.PrimaryScreen.Bounds; this.TopMost = true;
这会将表单设置为全屏,它将覆盖任务栏.