winform如何動態創建多個panel?panel的個數自動地由文本輸入的個數來決定,求高手!

解决方案 »

  1.   

    放在你想要的位置,但是这个panel.Name = "xx";的那么属性一定要保重唯一,或者是随机数或者是什么,然后其他的地方调用这个方法就行了
      Panel panel = new Panel();
                panel.Name = "xx";            this.Controls.Add(panel);
      

  2.   


     private void textBox1_TextChanged(object sender, EventArgs e)
            {
                for (int i = 0; i <Convert.ToInt32(textBox1.Text.Trim()); i++)//最好加个判断是否为>0的整数
                {
                    Panel sy = new Panel();
                    sy.Name = "Name" + i.ToString();
                    sy.Text = "Label" + i.ToString();
                    sy.BackColor = Color.Red;//添加颜色
                    sy.Location = new Point(0, i * 20);//控制位置                  Controls.Add(sy);
                }        }
      

  3.   

    格式跑偏了  Controls.Add(sy);被注释了
      

  4.   


            private void button1_Click(object sender, EventArgs e)
            {
                for(int i = 0; i < int.Parse(textBox1.Text);i++)
                {
                    Panel P = new Panel();
                    P.Name = "Panel_" + i.ToString();
                    P.Width = 200;
                    P.Height = 30;
                    P.Top = 30 * (i + 1);
                    #region 方便你区分 该段代码可以删除
                    Label l = new Label();
                    l.Name = "Name_" + i.ToString();
                    l.Text = "我是Panel_"+ i.ToString();
                    P.Controls.Add(l);
                    #endregion
                    this.Controls.Add(P);
                }
            }
    楼主解决问题 请给分
      

  5.   

    請問如何讓第一個panel加一個label,第二個加一個button,第三個加一個pictureBox,第四個加一個textBox呢?