当前位置:  开发笔记 > 编程语言 > 正文

C# - 为什么全屏winform应用程序永远不会覆盖任务栏?

如何解决《C#-为什么全屏winform应用程序永远不会覆盖任务栏?》经验,为你挑选了1个好方法。

我使用的是Windows Vista和C#.net 3.5,但我让我的朋友在XP上运行程序并遇到同样的问题.

所以我有一个C#程序,我在后台运行,在SystemTray中有一个图标.我有一个低级键盘钩,所以当我按下两个键(在这种情况下为Ctr +窗口)时,它将拉动应用程序的主窗体.在组合键按下甚至处理程序中将表单设置为全屏:

this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;

所以它基本上有效.当我点击CTR + Windows时,它会调出表单,无论我关注哪个程序.但有时候,任务栏仍然会显示在我不想要的表单上.当我按下那个键组合时,我希望它始终是全屏的.

我认为这与应用程序最初关注的内容有关.但即使我点击我的主表单,任务栏有时也会停留在那里.所以我想知道焦点是否真的是问题.看起来有时候任务栏很顽固,并且不想坐在我的程序后面.

任何人有任何想法如何解决这个问题?

编辑:更多详细信息 - 当您将其置于全屏模式或将powerpoint置于演示模式时,我试图获得与Web浏览器相同的效果.

在Windows窗体中,您可以将边框样式设置为none并最大化窗口.但有时窗口不会出于某种原因覆盖任务栏.一半的时间.

如果我将主窗口放在最顶层,那么当我点击它时其他窗口会落在它后面,如果任务栏被隐藏,我不想要它.



1> Ryan Lundy..:

试试这个(this你的表格在哪里):

this.Bounds = Screen.PrimaryScreen.Bounds;
this.TopMost = true;

这会将表单设置为全屏,它将覆盖任务栏.


嘿.那里的小细节.如果用户选中"保持任务栏位于其他窗口之上",我怀疑你是否可以*没有*TopMost.但是你也可以拥有多个TopMost窗口,而活动的窗口将是,呃,TopMostest.
推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有