在C#中, 当我有一个button控件时,当我点击的时候,怎么才能出现相同的button,而且再次点击的时候,又会出现相同的, 以此类推下去. 而且控件分别在运行后可以移动,

解决方案 »

  1.   

    不要把button想象的太神奇,它也是一个对象,它也有一些方法和属性供我们在运行进改变!
    可参考下IDE生成的窗体布局cs代码
      

  2.   

    你直接new一个button控件添加在相应的窗体上不就好了
    移动你可以直接写mousedown事件就可以了
      

  3.   

    有两个问题: 1. 有button控件, 当我点击的时候,就会出现相同的button在面板中出现,而且可以只要我点击了,就会出现.
                2. 运行后,我怎么能让其都能移动.
    第一问,我能解决,第二问也知道,
    但是关键两个问题出现在一起的时候我不能解决.
    因为我只能移动最后点击出现的那个button
      

  4.   

    你点击一个button的时候new一个出来,大小,文本和前一个一样,在click()事件中调用同一个方法,这个方法你可以自己写,适用于所有button,移动也这样,写一个方法MouseDown(),设置button的left=MouseEventArgs e.x,top=MouseEventArgs e.y
      

  5.   

    LS的,你说的这些你做过么?MouseDown是什么事件啊??????????????????????????
      

  6.   


    private void btn_Click(object sender, EventArgs e)
    {
       Button btn=new Button();
    btn.Click+=new EventHandler(btn_Click);
    listView1.Location = new System.Drawing.Point(((Button)sender).Top+50, 32);//自己控制显示位置
    btn.Visible=true;
    Controls.Add(btn);
    }
      

  7.   

    listView1.Location = new System.Drawing.Point(((Button)sender).Top-150, 32);//自己控制显示位置
    改为减吧,
      

  8.   

    先添加一个新的button,为它添加一个btn_Click,
    在btn_Click中
    private void btn_Click(object sender, EventArgs e)
    {
    Button btn=new Button();
    btn.Click+=new EventHandler(btn_Click);

    btn.Location = new System.Drawing.Point(8, ((Button)sender).Top+20);
    btn.Show();
    this.Controls.Add(btn);
    }
      

  9.   

    MouseDown是鼠标按下时调用的事件
      

  10.   

    还要移动啊?建议使用拖放,因为如果使用了MouseDown ,Mousemove,Mouseup之后,就少了Click事件了,或者判断Mouseup之后没有移动就激发Click事件