1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Threading.Tasks; 9 using System.Windows.Forms;10 11 namespace WinGPChat.master12 {13 public partial class formBase : Form14 {15 public formBase()16 {17 InitializeComponent(); 18 }19 private Point mPoint = new Point();20 private void formBase_Load(object sender, EventArgs e)21 {22 this.MouseDown+=formBase_MouseDown;23 this.MouseMove+=formBase_MouseMove; 24 }25 26 protected void formBase_MouseMove(object sender, MouseEventArgs e)27 {28 if (e.Button == MouseButtons.Left)29 {30 Point myPosittion = MousePosition;31 myPosittion.Offset(-mPoint.X, -mPoint.Y);32 this.FindForm().Location = myPosittion;33 }34 }35 36 protected void formBase_MouseDown(object sender, MouseEventArgs e)37 {38 mPoint.X = e.X;39 mPoint.Y = e.Y;40 }41 42 ///43 /// 重写Paint实现细边框44 /// 45 /// 46 protected override void OnPaint(PaintEventArgs e)47 {48 Pen pen = new Pen(Color.Gray,1);49 e.Graphics.DrawLine(pen, new Point(0, 0), new Point(this.Width-1, 0)); //上50 e.Graphics.DrawLine(pen, new Point(0, 0), new Point(0, this.Height-1)); //左51 e.Graphics.DrawLine(pen, new Point(this.Width-1, 0), new Point(this.Width-1, this.Height-1));//右52 e.Graphics.DrawLine(pen, new Point(0, this.Height-1), new Point(this.Width-1, this.Height-1));//下53 base.OnPaint(e);54 }55 56 ///57 /// 无边框重写点击icon实现窗体最大化和最小化58 /// 59 protected override CreateParams CreateParams60 {61 get62 {63 CreateParams cp = base.CreateParams;64 cp.Style = cp.Style | 0x20000;//允许最小化操作65 return cp;66 }67 }68 69 70 }71 }