相信大家都见过的一段代码,控件拉伸可以参考参考。

const int HTLEFT = 10;          const int HTRIGHT = 11;          const int HTTOP = 12;          const int HTTOPLEFT = 13;          const int HTTOPRIGHT = 14;          const int HTBOTTOM = 15;          const int HTBOTTOMLEFT = 0x10;          const int HTBOTTOMRIGHT = 17;            protected override void WndProc(ref Message m)          {              switch (m.Msg)              {                  case 0x0084:                      base.WndProc(ref m);                      Point vPoint = new Point((int)m.LParam & 0xFFFF,                          (int)m.LParam >> 16 & 0xFFFF);                      vPoint = PointToClient(vPoint);                      if (vPoint.X <= 5)                          if (vPoint.Y <= 5)                              m.Result = (IntPtr)HTTOPLEFT;                          else if (vPoint.Y >= ClientSize.Height - 5)                              m.Result = (IntPtr)HTBOTTOMLEFT;                          else m.Result = (IntPtr)HTLEFT;                      else if (vPoint.X >= ClientSize.Width - 5)                          if (vPoint.Y <= 5)                              m.Result = (IntPtr)HTTOPRIGHT;                          else if (vPoint.Y >= ClientSize.Height - 5)                              m.Result = (IntPtr)HTBOTTOMRIGHT;                          else m.Result = (IntPtr)HTRIGHT;                      else if (vPoint.Y <= 5)                          m.Result = (IntPtr)HTTOP;                      else if (vPoint.Y >= ClientSize.Height - 5)                          m.Result = (IntPtr)HTBOTTOM;                      break;                  case 0x0201://鼠标左键按下的消息                       m.Msg = 0x00A1;//更改消息为非客户区按下鼠标                       m.LParam = IntPtr.Zero;//默认值                       m.WParam = new IntPtr(2);//鼠标放在标题栏内                       base.WndProc(ref m);                      break;                  default:                      base.WndProc(ref m);                      break;              }          }

代码: