1. 程式人生 > >Winform視窗去邊框實現可以移動

Winform視窗去邊框實現可以移動

Windows自帶的邊框很影響我們個性化定製視窗UI的美觀程式。
首選選擇視窗,屬性裡的FormBorderStyle設定為None。
邊框去掉之後 會發現視窗無法最大最小化和移動。
1 在標題欄處新建三個panel,分別為標題欄,最大最小化按鈕和關閉按鈕Pannel

將後面幾個panel設定BackgroundImage為相應圖示
分別為panel_title panel_min panel_close
為panel_title新增MouseDown和MouseMove事件程式碼為

private Point mousePoint = new Point();
private
void panel_title_MouseDown(object sender, MouseEventArgs e) { base.OnMouseDown(e); this.mousePoint.X = e.X; this.mousePoint.Y = e.Y; }
private void panel_title_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; } }

為panel_min新增click事件

 this.WindowState = FormWindowState.Minimized;

為panel_close新增close事件

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

這樣,視窗就可以拖動移動了