zoukankan      html  css  js  c++  java
  • 添加多个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);
                        }
                    }
                }

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

  • 相关阅读:
    Web服务器—Nginx
    Web服务器—IIS
    Linux—主机扫描工具(Nmap)
    Linux—系统关机命令详解
    Linux—开机启动过程详解
    Python—版本和环境的管理工具(Pipenv)
    Flask—好的博客
    Mysql—事务原理与详解
    汇编刷题:统计内存中的一个十六位二进制数 位值为1的位个数之和
    汇编刷题:在M单元和N单元分别存有一个8位无符号数36H和95H,要求比较并输出 M大于N 或者 M小于N
  • 原文地址:https://www.cnblogs.com/http-www/p/3413743.html
Copyright © 2011-2022 走看看