• C# Winform 最大化遮挡任务栏和全屏显示问题


    在打开最大化窗体时,如果不进行配置,那么默认情况下窗体是被任务栏档住,导致有部分界面看不见,看看下面代码的效果,也许对你有帮助

    新建一个Winform项目,添加三个按钮,给三个按钮添加点击事件

    代码:

    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Linq;
    7. using System.Text;
    8. using System.Threading.Tasks;
    9. using System.Windows.Forms;
    10. namespace Test5
    11. {
    12. public partial class Form1 : Form
    13. {
    14. public Form1()
    15. {
    16. InitializeComponent();
    17. }
    18. private Size WindowMaximumSize;
    19. private void Form1_Load(object sender, EventArgs e)
    20. {
    21. WindowMaximumSize = this.MaximumSize;
    22. this.TopMost = true;
    23. }
    24. private void button1_Click(object sender, EventArgs e)
    25. {
    26. //任务栏不会被遮挡
    27. if (this.WindowState == FormWindowState.Maximized)
    28. {
    29. this.WindowState = FormWindowState.Normal;
    30. }
    31. else
    32. {
    33. this.WindowState = FormWindowState.Maximized;
    34. }
    35. }
    36. private void button2_Click(object sender, EventArgs e)
    37. {
    38. //任务栏会被遮挡
    39. if (this.WindowState == FormWindowState.Maximized)
    40. {
    41. this.FormBorderStyle = FormBorderStyle.FixedSingle;
    42. this.WindowState = FormWindowState.Normal;
    43. }
    44. else
    45. {
    46. this.FormBorderStyle = FormBorderStyle.None;
    47. this.MaximumSize = WindowMaximumSize;
    48. this.WindowState = FormWindowState.Maximized;
    49. }
    50. }
    51. private void button3_Click(object sender, EventArgs e)
    52. {
    53. //任务栏不会被遮挡
    54. if (this.WindowState == FormWindowState.Maximized)
    55. {
    56. this.FormBorderStyle = FormBorderStyle.FixedSingle;
    57. this.WindowState = FormWindowState.Normal;
    58. }
    59. else
    60. {
    61. this.FormBorderStyle = FormBorderStyle.FixedSingle;
    62. this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
    63. this.WindowState = FormWindowState.Maximized;
    64. }
    65. }
    66. }
    67. }

    效果:

    点击按钮1,会最大化,但窗体不会遮挡任务栏,

    点击按钮2,会全屏显示,

    点击按钮3,会最大化,但窗体不会遮挡任务栏,

    end

  • 相关阅读:
    IgA | 对抗病原菌,帮助共生菌定植的“重要开关”
    你这个视频背景太假了?
    C语言解析JSON源码
    如果你也想做自媒体,不妨听大周给您点建议
    【云原生】Kubernetes CRD 详解(Custom Resource Definition)
    设计思维|如何构建价值导向的设计思维?
    【Html/Css】Https证书申请、安装和使用(新手IIS安装参考)
    git中添加不上传的文件夹或文件的名字
    Elasticsearch:Open Crawler 现已进入测试阶段
    一些文本在CSS上的作用
  • 原文地址:https://blog.csdn.net/qq_38693757/article/details/125445723