C# Windows Form FormBorderStyle = None Изменение размера формы
public Form1() { InitializeComponent(); } protected override void WndProc(ref Message m) { if (WindowState == FormWindowState.Normal) { switch (m.Msg) { case 0x0084: /*NCHITTEST*/ base.WndProc(ref m); if ((int)m.Result == 0x01) /*HTCLIENT*/ { Point screenPoint = new Point(m.LParam.ToInt32()); Point clientPoint = this.PointToClient(screenPoint); if (clientPoint.Y <= 10) { if (clientPoint.X <= 10) m.Result = (IntPtr)13; /*HTTOPLEFT*/ else if (clientPoint.X < (Size.Width - 10)) m.Result = (IntPtr)12; /*HTTOP*/ else m.Result = (IntPtr)14; /*HTTOPRIGHT*/ } else if (clientPoint.Y <= (Size.Height - 10)) { if (clientPoint.X <= 10) m.Result = (IntPtr)10; /*HTLEFT*/ else if (clientPoint.X < (Size.Width - 10)) m.Result = (IntPtr)1; /*HTCAPTION*/ else m.Result = (IntPtr)11; /*HTRIGHT*/ } else { if (clientPoint.X <= 10) m.Result = (IntPtr)16; /*HTBOTTOMLEFT*/ else if (clientPoint.X < (Size.Width - 10)) m.Result = (IntPtr)15; /*HTBOTTOM*/ else m.Result = (IntPtr)17; /*HTBOTTOMRIGHT*/ } } return; } } base.WndProc(ref m); }