C# winform窗体UI美化后实现最大化、最小化、还原、关闭、窗体移动等等-2023/1/11

本文介绍了C# Winform窗体在UI美化后如何实现最大化、最小化、还原、关闭以及窗体移动等功能。在美化窗体时,通常将FormBorderStyle设为None,通过自定义Panel来实现标题栏功能。针对最大化后可能遮挡任务栏的问题,需要在窗体加载时进行特定设置。同时,对于多显示器环境,需要处理不同屏幕上的窗体生成。关闭功能则通常有专门设计的关闭按钮。窗体移动可通过Windows API函数来实现。
摘要由CSDN通过智能技术生成

C# winform窗体UI美化后实现最大化、最小化、还原、关闭、窗体移动等等

在做winform窗体UI美化时,一般都需要将窗体的FormBorderStyle属性设为None,之后窗体就会没有最上面的标题栏,然后按照UI进行界面的设计。美化的代价就是窗体本来标题栏的相关操作,例如双击自动最大化,再次双击又恢复正常大小,以及上窗体关闭、最小化等功能就都需要自己实现对应的功能。

以自己做得项目为例,窗体的最上面一块就是类似或者需要实现标题栏功能的,用panel划定一个范围。之后所有的操作都是重写panel里面的方法。

实现最大化和还原

如果UI设计的是有按钮,那就最好。

        /// <summary>
        /// 窗体 最大化,正常
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_Max_Click(object sender, EventArgs e)
        {
   
            if (this.WindowState == FormWindowState.Maximized)
            {
   
                this.WindowState = FormWindowState.Normal;
                Image maxbackImage = Resources.最大化;//这里图片调用UI设计的图片
                btn_Max.BackgroundImage = maxbackImage;
            }
            else
            {
   
                this.WindowState = FormWindowState.Maximized;
                Image normalbackImage = Resources.正常;
                btn_Max.BackgroundImage = normalbackImage ;
            }
        }

如果为了美观UI连按钮也没有设计,那就模仿标题栏自带的功能,重写panel的MouseDoubleClick方法

        /// <summary>
        /// 窗体 最大化,正常
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值