我想在一个form里动态添加button控件把button的属性保存在数据库在运行的时候,数据库里有几条button的记录就在form添加几个button请问怎么做?谢谢.

解决方案 »

  1.   

    假设你把数据库内容读出来了存在datatablefor(int i=0;i<datatalbe.rows.count;i++)
    {
    button a =new button();
    a.text=datatalbe.rows[i][0].tostring();
    ...
    a.click+=..........................
    }
      

  2.   

    1,数据库里取出记录内容。
    2, 在form里构造Button新实例。this.button1 = new System.Windows.Forms.Button();
    this.button1.Name = "button1";
    this.button1.Text = "button1";
    this.button1.Click += new System.EventHandler(this.button1_Click);
    this.Controls.Add(this.button1); // 很关键哦嵌套一个循环,把所有的button 创建。还可以设置它的location,Size 之类的属性, 这个看你的需求了。
      

  3.   

    1.读数据
    2 根据数据创建button
    3 在 form里设置一个div ,给div添加control
      

  4.   

    //动态添加button及事件
     DataTable table; //数据在表table里
                for (int i = 0; i < table.Rows.Count; i++)
                {
                    Button b = new Button();
                    b.Text = "";
                    b.Left = 5;    
                    b.Top = i * 25 + 10;   //设置位置
                    b.Tag = table.Rows[i];  //该条记录数据
                    b.Click += new EventHandler(b_Click);
                    this.Controls.Add(b);
                }
            
    //处理button事件
            void b_Click(object sender, EventArgs e)
            {
                DataRow dr = (DataRow)((Button)sender).Tag; //获取该条记录            //.........处理该条数据
            }
      

  5.   

    3楼正解,另外注意SIZE和ALLINE设置矛点和位置
      

  6.   

    取出你的数据.然后遍历..有几个buuton的数据就new 几个button