在页面写一个panel,用户可以通过按钮来添加lable,然后可以通过拖拽的形式来控制大小和位置
最后panel的位置不一定是固定的,用一个类来实现上述的方法。

解决方案 »

  1.   

    http://www.myfirm.cn/News/DotNetUserInterface/20080221013104408.html
      

  2.   

    参考一下下面的代码吧,按住Control可以调整大小,不按Control键的时候是移动控件:private Point lastLocation;
    private Point lastMsPoint;
    private Size lastSize;
    private void label1_MouseDown(object sender, MouseEventArgs e)
    {
        this.lastLocation = this.label1.Location;
        this.lastSize = this.label1.Size;
        this.lastMsPoint = Control.MousePosition;
    }private void label1_MouseMove(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Left)
        {
            Point mp = Control.MousePosition;
            if ((ModifierKeys & Keys.Control) == Keys.Control)
            {
                this.label1.Size = new Size(this.lastSize.Width + mp.X - this.lastMsPoint.X, this.lastSize.Height + mp.Y - this.lastMsPoint.Y);
            }
            else
            {
                this.label1.Location = new Point(this.lastLocation.X + mp.X - this.lastMsPoint.X, this.lastLocation.Y + mp.Y - this.lastMsPoint.Y);
            }
        }
    }
      

  3.   

    最好写一个完整的类,因为控件是代码生成的。。
    例如:reSize(控件名,容器名)