高手教一下,怎么实现拖动窗体上的控件??

解决方案 »

  1.   

    我也是刚开始学习,我只知道第一个问题:
    private void form1_MouseMove( object sender, System.Windows.Forms.MouseEventArgs e )
    {
         e.X;//鼠标x坐标
         e.Y;//鼠标坐标
    }
      

  2.   

    可能用到keyup,keydown事件,我也不很明白,学习.
      

  3.   

    private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    label1.Text ="横坐标="+e.X.ToString()+"\n"+"竖坐标="+e.Y.ToString();
    }
      

  4.   

    private Boolean mm;
    /// <summary>
    /// 清理所有正在使用的资源。
    /// </summary>
    protected override void Dispose( bool disposing )
    {
    if( disposing )
    {
    if (components != null) 
    {
    components.Dispose();
    }
    }
    base.Dispose( disposing );
    }
            
    #region Windows 窗体设计器生成的代码
    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {
    this.label1 = new System.Windows.Forms.Label();
    this.button1 = new System.Windows.Forms.Button();
    this.SuspendLayout();
    // 
    // label1
    // 
    this.label1.Location = new System.Drawing.Point(32, 40);
    this.label1.Name = "label1";
    this.label1.Size = new System.Drawing.Size(100, 64);
    this.label1.TabIndex = 0;
    this.label1.Text = "label1";
    // 
    // button1
    // 
    this.button1.Location = new System.Drawing.Point(80, 168);
    this.button1.Name = "button1";
    this.button1.TabIndex = 1;
    this.button1.Text = "button1";
    this.button1.Click += new System.EventHandler(this.button1_Click);
    this.button1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.button1_MouseUp);
    this.button1.MouseHover += new System.EventHandler(this.button1_MouseHover);
    this.button1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.button1_MouseMove);
    this.button1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.button1_MouseDown);
    // 
    // Form1
    // 
    this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
    this.ClientSize = new System.Drawing.Size(292, 273);
    this.Controls.Add(this.button1);
    this.Controls.Add(this.label1);
    this.Name = "Form1";
    this.Text = "Form1";
    this.Load += new System.EventHandler(this.Form1_Load);
    this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseMove);
    this.ResumeLayout(false); }
    #endregion /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main() 
    {
    Application.Run(new Form1());
    } private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    label1.Text ="横坐标="+e.X.ToString()+"\n"+"竖坐标="+e.Y.ToString();
    } private void Form1_Load(object sender, System.EventArgs e)
    { } private void button1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    mm=true;
    } private void button1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    mm=false;
    } private void button1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    if (mm==true)
    {
    button1.Left=e.X;
    button1.Top =e.Y;
    }
    }