我的想法:
1.得到拖动启始时mouse的坐标(x,y)
2.得到拖动结束时mouse的坐标(x1,y1)
3.设置TextBox的Location
    textBox1.Location.Offset(x-x1,y-y1);本人一种方法。

解决方案 »

  1.   

    请教 xz_king如何 得到鼠标的坐标呢 有基类吗 多谢
      

  2.   

    bool bMoving; //鼠标是否按下
    int xBegin, yBegin; //鼠标起始坐标// 这个使用键盘的方向左键移动的
    protected override void OnKeyDown(KeyEventArgs e)
    {
      if(e.KeyCode == Keys.Left)
      pictureBox1.Left = pictureBox1.Left - 1;
    }
    // 当只有鼠标左键按下时
    private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
    {
      if(e.Button == MouseButtons.Left)
      {
        bMoving = true;
        xBegin = e.X;
        yBegin = e.Y;
      }
    }
    // 当只有鼠标左键放开时
    private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
    {
      if(e.Button == MouseButtons.Left)
        bMoving = false;
    }
    // 当鼠标移动时
    private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
    {
      if(bMoving)
      {
        // 方法一:
          pictureBox1.Left = pictureBox1.Left + (e.X - xBegin);
          pictureBox1.Top = pictureBox1.Top + (e.Y - yBegin);    /* 方法二:
          Point point = pictureBox1.Location;
          point.Offset(e.X - xBegin, e.Y - yBegin);
          pictureBox1.Location = point;
        */
      }
    }
      

  3.   

    在窗体建立一个PictureBox控件
    我试过可以的:)
    记的给分呵呵
      

  4.   

    分别设置mouse的按下、放松、move等事件。可以传递mouse的pionter给文本框。