添加多个button或其他的控件

有的时候,需要用到很多的按钮或者是其他的控件,总不能一个一个去拖,正好项目中用到就想了一下,怎么办,刚开始是

for (int i = 0; i < 4; i++)
                {
                      Button   b= new Button();
                 b.Name = "btn" + i.ToString();
                    b.Width = 100;
                    b.Height = 100;
                    b.Location = new System.Drawing.Point(b.Location.X +100, b.Location.Y +100);
                    this.Controls.Add(b);
                }

为什么只有一个么,,因为你所添加按钮是加上去了,但是被覆盖了,因为你每次都是new一个,默认的位置都是同一地点的,所以会覆盖的,所以就得改变位置,首先想到是的数组,但是我没用到,感觉麻烦了,动态的改编位置,必须得有变量来改变,于是

  b.Location = new System.Drawing.Point(b.Location.X +100, b.Location.Y +100);改为

  b.Location = new System.Drawing.Point(b.Location.X +i*100, b.Location.Y +i*100);

出现的是对角线的4个按钮,我把按钮的所有的x y都换了,所以就成对角线了,所以要再加一个循环,最后的代码就是这样的

for (int i = 0; i < 4; i++)
                {
                   for(int j=0;j<3;j++)
                   {
                 Button   b= new Button();
                 b.Name = "btn" + i.ToString();
                    b.Width = 100;
                    b.Height = 100;
                    b.Location = new System.Drawing.Point(b.Location.X +i* 100, b.Location.Y +j*100);
                    this.Controls.Add(b);
                }
            }

但是有时候,需要这样的效果

代码如下

 for (int j = 0; j < 2; j++)
            {
                for (int i = 0; i < 4; i++) //列
                {
                    if (this.Controls.Count < 6)
                    {
                        Button b = new Button();
                        b.Name = "btn" + i.ToString();
                        b.Width = 100;
                        b.Height = 100;
                        b.Location = new System.Drawing.Point(b.Location.X + i * 100, b.Location.Y + j * 100);
                        this.Controls.Add(b);
                    }
                }
            }

没什么技术含量,大神不要喷,只是记录下来,下次就可以直接用了,,

原文地址:https://www.cnblogs.com/http-www/p/3413743.html