C# 实现Winform全屏后不遮挡任务栏,显示任务栏

Posted 1_bit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 实现Winform全屏后不遮挡任务栏,显示任务栏相关的知识,希望对你有一定的参考价值。

最近在忙中抽闲,看我的桌面太过死了,不生动,不可爱=。=。。
然后默默的想写一个动态桌面的一个小东西活泼一下。。。
随后拿起来了N久不碰的C#(本人C#渣,不,应该说什么都渣。。。)
结果在winform全屏化的时候,遮挡了下面的任务栏;这样的话体验性就不好了,这几天找了n多方法,一搜某度,发现都是。。。2013年左右的资料。。。简直,唔,还有。。。都是xp系统的测试。。。真是有意思。虽然说我现在用的是win7吧。。。那是我懒得升级=。=。。不过win7和win10,也不像xp跟win7的那样跨度吧=。=。。
我也不懂是不是我的搜索技术不达标,不过我搜索出来的都是说:

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

唔。。。不行。。。
或说你的FormBorderStyle 不要为none。。。我直接感觉无话可说。。
随后又有人说尝试调用api的那个show什么,忘记了。。。(|||||=.=)

最开始本来说直接嵌入桌面的,把winform、、结果发现xp,vist之后的基本上都不行。 =。=。。。
我还想过要给任务栏获取焦点=。=。。。结果。发现有点不对。。。

简直,某度搜出来的东西不敢恭维。随后拿起来了谷歌,我记得是某一站整理的,就是一行代码解决一切!就是下面这一行:

this.MaximizedBounds = Screen.PrimaryScreen.WorkingArea;//在窗体初始化后添加一句代码

卧槽!直接可行,注意要在窗体初始化后添加一句代码
真是666,这个办法6.=。=
我是这样加的:我直接把整个方法赋值下来了=。=。。就是这个

public Desktop()
        
            this.StartPosition = FormStartPosition.Manual;
            InitializeComponent();
            //
            this.MaximizedBounds = Screen.PrimaryScreen.WorkingArea;
            //必加,不加也不会实现
            this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
        

完美解决,简直贼6!

以上是关于C# 实现Winform全屏后不遮挡任务栏,显示任务栏的主要内容,如果未能解决你的问题,请参考以下文章

C# - 为啥全屏 Winform 应用程序不总是覆盖任务栏?

WPF 不遮挡任务栏最大化和全屏显示

利用C# Winform做Windows系统任务栏

C# Winform WPF DeskBand 窗体嵌入任务栏,在任务栏显示文字

winform窗体程序最大化时遮挡屏幕任务栏的设置

Parallels Desktop如何全屏后鼠标移到最上不显示MAC菜单栏