override WndProc, 响应消息WM_NCHITTEST, 返回HTCAPTION, 具体的值可查SDK头文件

解决方案 »

  1.   

    protected override void WndProc(ref Message m)
    {
       if (m.Msg == 0x0084)             // WM_NCHITTEST
       {
           m.Result = (IntPtr)0x2;      // HTCAPTION
           return;
       }      base.WndProc(ref m);
    }
      

  2.   

    http://developer.ccidnet.com/pub/disp/Article?columnID=340&articleID=25457&pageNO=1
      

  3.   

    protected override void OnPaint(PaintEventArgs e)
    {
    if(y<44)
    {
    if(flag==2)
    {
    this.Left=Control.MousePosition.X-x;
    this.Top=Control.MousePosition.Y-y;
    }
    }

    }
    private void KJ2003WlanClient_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    {
    if(flag==2)
    {
    x=e.X;
    y=e.Y;
    }
    }
    this.Refresh();

    }
    public int clicknum=0; private void KJ2003WlanClient_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    if(clicknum%2==0)
    {
    x=e.X;
    y=e.Y;
    flag=2;
    clicknum=1;

    }
    else
    {
    clicknum=0;
    flag=1;
    }
    this.Refresh();
    } private void KJ2003WlanClient_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    if(clicknum%2==0)
    {
    x=e.X;
    y=e.Y;
    flag=2;
    clicknum=1;

    }
    else
    {
    clicknum=0;
    flag=1;
    }
    this.Refresh();