Bootstrap

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

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>
        /// 窗体 最大化,正常
        
;