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);
                        }
                    }
                }

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

  • 相关阅读:
    MySQL 连接 触发器 函数 视图 存储过程
    Django的ORM2
    nmp安装vuejs
    Docker 技术入门与实践(第3版)笔记
    docker官方 入门
    centos 各目录介绍
    阿里云es 安装docker
    linux命令
    centos 7 mini 安装青岛OJ
    leetcode_304. 二维区域和检索
  • 原文地址:https://www.cnblogs.com/http-www/p/3413743.html
Copyright © 2011-2022 走看看