用循环生成的按钮 需要每次都实例化一个新按钮 怎么在循环外调用这些按钮,一定要拆箱和装箱吗  ?
怎么样能在外面随意用 按钮   和给他们定义

解决方案 »

  1.   


    c#动态生成40个按钮,大小(20,20),要求每行6个放置
    I乘10除6取整,放置高度*倍数 for   (int   i=0;i <基本数据DataSet3.Tables   [0].Rows   .Count   ;i++)   
    {   
          int   TempInt   =   i%6;//取余数,计算横坐标用。 
          int   TempInt2=   System.Math.Floor(i%6);//取整数,看放置在第几行。 
          Button   myButton   =   new   Button();   
          myButton.Size   =   new   Size(20,   20);   
          myButton.Text   =   基本数据DataSet3.Tables[0].Rows[i][0].ToString();   
          myButton.Left   =   0   +   TempInt   *   20;   
          myButton.Top   =   0   +   TempInt2   *   20;   
          this.panel2.Controls.Add(myButton);   
    }
      

  2.   


    //定义
    for (int i = 0; i < 10; i++)

        Button btn = new Button();
        btn.ID = "Btn" + i;
        btn.Text = "Button" + i;
        btn.Click += ev
        this.Page.Form.Controls.Add(btn);
    }//查找
    Button btnFind = this.Page.Form.FindControl("btn2") as Button;
    //
      

  3.   


           for (int i = 0; i < 10; i++)
            { 
                Button btn = new Button();
                btn.ID = "Btn" + i;
                btn.Text = "Button" + i;
                btn.Click += new EventHandler(Btn_Click);
                this.Page.Form.Controls.Add(btn);        }        Button btnFind = this.Page.Form.FindControl("btn2") as Button;
         protected void Btn_Click(object sender, EventArgs e)
         { 
            Button Btn = sender as Button;
            string id = Btn.ID;
         }
      

  4.   

    for(int i=0 i<.....)
    {
       //实例化Button
       Button myButton=new Button();   
      //然后跟Button定义属性
      myButton.Text=
      myButton..... 
    }
      

  5.   

       List<object> _list1 = new List<object>();
     public void SetButton(int col, int row)
            {    for (int i = 0; i < col; i++)
                {
                    for (int j = 0; j < row; j++)
                    {                    MyButton myButton = new MyButton();
                        myButton.Location = new System.Drawing.Point(this.Size.Width / row * j, this.Size.Height / col * i);
                        myButton.Size = new Size(this.Size.Width /row,this.Size.Height / col-2);
                        
                        myButton.Name = m_iCount.ToString();
                        myButton.Tag = m_iCount.ToString();
                        myButton.Text = "";
                        _list1.Add(myButton);}
    我是这样写的  但是要在外部调用myButton就要每次都
    加MyButton myButton1 = (MyButton)sender;
    不想总这样有其他方法吗