【WinForm-无边框窗体】实现Panel移动窗体,没有边框的窗体
没有边框的窗体怎么移动?其实方法有很多,下面介绍一种用控件来移动窗体,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);
        }

                
            
        
浙公网安备 33010602011771号