沒有邊框的窗體怎么移動?其實方法有很多,下面介紹一種用控件來移動窗體,Panel或PictureBox都可。主要設置控件的MouseDowm和MouseLeave事件。
第一步:窗體設計
窗體最上面是一個panel1
窗體最下面是一個Panel3,只顯示最上面一條線
?
第二步:panel移動窗體實現代碼
MouseDown事件
MouseLeave事件
#region 移動窗體Point downPoint;private void panel1_MouseDown(object sender, MouseEventArgs e){downPoint = new Point(e.X, e.Y);}private void panel1_MouseMove(object sender, MouseEventArgs e){if (e.Button == MouseButtons.Left){this.Location = new Point(this.Location.X + e.X - downPoint.X,this.Location.Y + e.Y - downPoint.Y);}}#endregion
如何實現panel只顯示最上面一條線?
Paint事件
//重繪panel3,只顯示最上面一條直線private void panel3_Paint(object sender, PaintEventArgs e){ControlPaint.DrawBorder(e.Graphics,this.panel3.ClientRectangle,Color.Lavender,1, ButtonBorderStyle.Dashed,Color.Gray,1,ButtonBorderStyle.Solid,Color.Lavender,1,ButtonBorderStyle.Dashed,Color.Lavender,1,ButtonBorderStyle.Dashed);}