做個無邊框winform窗體,並美化界面


今天下午程序寫完,有些時間就搞下界面美化,做個無框窗體。首先把窗體的FormBorderStyle設置為None,就變成無框的啦,不過你會發現這樣窗體上就沒有原來的最大最小化和關閉按鈕了哦,所以要自己補上去。弄個panel放上去,置頂,可以設置panel的背景色和背景圖片什么的,詳細布局就不贅述啦,見下圖,主要是再放三個小panel進去,用來做最小化、最大化、關閉按鈕。下面給出三個panel的事件代碼。

關閉代碼

        private void pnlFormClose_MouseClick(object sender, MouseEventArgs e) { DialogResult result = MessageBox.Show("是否退出?", "操作提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { //this.Dispose();
 Application.Exit(); } }

最下化代碼

        private void pnlFormMin_MouseClick(object sender, MouseEventArgs e) { this.WindowState = FormWindowState.Minimized; }

這里最小化后可以加入最小化到桌面右下角,http://www.cnblogs.com/wuyouyu/p/3356303.html里已經寫了相應代碼。

最大化代碼,這里窗體正常狀態點擊則最大化,最大化狀態點擊則變為常態

        //最大化還原切換
        private bool max = false; private void pnlFormMax_MouseClick(object sender, MouseEventArgs e) { if (max) { this.WindowState = FormWindowState.Normal; max = false; } else { this.WindowState = FormWindowState.Maximized; max = true; } }

最大化后,可以將最大化圖片切換下,加句 this.pnlFormMax.BackgroundImage = Properties.Resources.要切換的圖片名;

這里說明下BackgroundImage圖片導入的時候,有本地資源和項目資源文件兩個選項,后者會生成Resources文件夾,存放導入的文件,否則就得寫圖片的物理地址了。

三個按鈕寫完,基本工作還是沒有結束,運行的時候會發現這個窗體不能拖動,要補充窗體可拖動代碼,

//窗體拖動
        private Point mousePoint = new Point(); private void pnlCloseBar_MouseDown(object sender, MouseEventArgs e) { base.OnMouseDown(e); this.mousePoint.X = e.X; this.mousePoint.Y = e.Y; } private void pnlCloseBar_MouseMove(object sender, MouseEventArgs e) { base.OnMouseMove(e); if (e.Button == MouseButtons.Left) { this.Top = Control.MousePosition.Y - mousePoint.Y; this.Left = Control.MousePosition.X - mousePoint.X; } }

到此基本工作做完。

拓展:1、可以加入鼠標經過三個小panel時的效果,分別寫MouseDown、MouseEnter、MouseLeave、MouseUp事件,切換下圖片就行了。

        private void pnlFormMax_MouseLeave(object sender, EventArgs e) { if (!max) { this.pnlFormMax.BackgroundImage = Properties.Resources.btn_FrmMax_Normal; } else { this.pnlFormMax.BackgroundImage = Properties.Resources.btn_FrmRestore_Normal; } }

2、可以加入雙擊窗體上邊框,窗體最大化效果等。

3、可以在右上角加入一個小panel作為設置按鈕,用戶可以自定義皮膚,窗體顏色,或者加入背景圖片等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM