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

时间:2022-07-28
本文章向大家介绍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!