现在是点击窗体才会移动,如果点击控件不会移动,比如lable。
我想点击label也能够拖动窗体

解决方案 »

  1.   

    当鼠标按下 isDragging = true; startPoint = ?.
    当鼠标释放 isDragging = false;
    当鼠标移动 if(isDragging) { form.Location = Translate(form.Location, nowPoint - startPoint);}
      

  2.   

    是这样,但是鼠标按下,释放,移动的事件只有在除了控件区域外的时候才会发送。在控件上时
    鼠标按下,释放,移动不会发送事件到处理程序。this.MouseDown+=new MouseEventHandler(Form1_MouseDown);
    this.MouseMove+=new MouseEventHandler(Form1_MouseMove);
      

  3.   

    label1.MouseDown += new ......也给我补上
      

  4.   

    如果有很多label怎么样 每个label都得发送消息?
    有没有 在整个程序区域内的鼠标事件 包括窗体及其它控件的消息
    这样代码就简单了
      

  5.   

    很多控件可以用遍历编程,
    foreach(Control control in this.Controls)
    {
       if (control is label)
       {contorl.MouseDown += new ...;}
    }
    如果要得到你想要得到的那种事件那比以上的方法还麻烦,要么用direct input,要么用P/invoke