c#窗体没有标题栏怎么更改窗体的大小?

济南云服务器 2025年6月5日06:01:17C#教程c#窗体没有标题栏怎么更改窗体的大小?已关闭评论71阅读模式

平时我们接触软件程序时,一般应用程序的窗体都可以非常方便的更改其大小,但是,如果我们将窗体的标题栏隐藏以后,窗体的大小还可以更改吗?这样的情况下大部分应用程序的窗体的大小是无法进行更改的,因为,屏蔽标题栏后,窗体就会默认将边框同时去除了,那么,遇到这种情况在c#编程语言中该如何解决呢?下面济南网站建设小编news.hcsw666.com/就来为大家分享,建立一个没有标题栏的窗体然后更改该窗体大小的小方法,有需要的朋友可以过来参考一下。

关键代码:

 

public partial class Form1 : Form
{
    private bool resizeDir; // 用于判断是否处于调整大小状态

    public Form1()
    {
        InitializeComponent();
        this.FormBorderStyle = FormBorderStyle.None;
        this.DoubleBuffered = true;
        this.SetStyle(ControlStyles.ResizeRedraw, true); // 确保重绘时减少闪烁
    }

    protected override void OnMouseDown(MouseEventArgs e)
    {
        base.OnMouseDown(e);
        if (e.Button == MouseButtons.Left)
        {
            // 判断鼠标位置是否在窗体边缘,这里仅以右下角为例
            if (e.X >= this.ClientSize.Width - 10 && e.Y >= this.ClientSize.Height - 10)
            {
                resizeDir = true;
            }
        }
    }

    protected override void OnMouseMove(MouseEventArgs e)
    {
        base.OnMouseMove(e);
        if (resizeDir)
        {
            // 调整窗体大小
            this.Size = new Size(e.X + 10, e.Y + 10);
        }
    }

    protected override void OnMouseUp(MouseEventArgs e)
    {
        base.OnMouseUp(e);
        resizeDir = false; // 停止调整大小
    }
}

济南云服务器
  • 本文由 发表于 2025年6月5日06:01:17
  • 转载请务必保留本文链接:http://news.hcsw666.com/2082