在某些开发中,我们可能需要根据实际用户需求来动态创建对应的控件,所以下列示例用代码动态创建label标签并进行布局,当然在实际应用开发中,我们可以自定义相关控件,然后利用此方法动态生成

布局有两种方式:

1、直接指定在窗体上的坐标

2,创建FlowLayoutPanel实例控件,把动态生成的控件添加其中

实现效果:创建9个label标签,在FlowLayoutPanel当中整齐显示,如下图

代码实现

        FlowLayoutPanel flowLayoutPanel;private void Form1_Load(object sender, EventArgs e){//生成自动排列控件FlowLayoutPanelflowLayoutPanel = new FlowLayoutPanel();flowLayoutPanel.BackColor = Color.Red;flowLayoutPanel.Location = new System.Drawing.Point(100, 100);flowLayoutPanel.Name = "flowLayoutPanel1";flowLayoutPanel.Size = new System.Drawing.Size(200, 100);flowLayoutPanel.TabIndex = 1;flowLayoutPanel.Visible = true;this.Controls.Add(this.flowLayoutPanel);   //窗体当中添加FlowLayoutPanel控件Run();}int labelNum = 0;     //生成标签控件标识private void Run(){try{for (int i = 0; i < 10; i++){labelNum++; // 标记标签序号AddLabel();}}catch{}}Label[] labels = new Label[9];  //存放动态生成的控件private void AddLabel(){/* 添加label */Label labelTemp = new Label();labelTemp.AutoSize = true;labelTemp.Font = new Font("微软雅黑", 10F, FontStyle.Regular, GraphicsUnit.Point, 134);// 设置字体labelTemp.Visible = true;labelTemp.Name = "label" + labelNum.ToString();switch (labelNum){case 1:labelTemp.Text = "西湖";labelTemp.Location = new Point(150, 60);break;case 2:labelTemp.Text = "长城";labelTemp.Location = new Point(150, 90);break;case 3:labelTemp.Text = "故宫";labelTemp.Location = new Point(150, 120);break;case 4:labelTemp.Text = "外滩";labelTemp.Location = new Point(150, 150);break;case 5:labelTemp.Text = "泰山";labelTemp.Location = new Point(150, 180);break;case 6:labelTemp.Text = "黄山";labelTemp.Location = new Point(150, 30);break;case 7:labelTemp.Text = "庐山";labelTemp.Location = new Point(150, 60);break;case 8:labelTemp.Text = "天坛";labelTemp.Location = new Point(150, 90);break;case 9:labelTemp.Text = "漓江";labelTemp.Location = new Point(150, 180);break;case 10:labelTemp.Text = "大理";labelTemp.Location = new Point(150, 30);break;default:break;}labels[labelNum - 1] = labelTemp;Controls.Add(labelTemp);   //直接添加到窗体的定位处flowLayoutPanel.Controls.Add(labelTemp);  //添加到布局里面}

C#动态生成控件并布局相关推荐

  1. 动态生成控件的消息处理

    动态生成控件的消息处理 www.diybl.com 时间:2008-04-26 作者:佚名 编辑:本站 点击: 159 [评论] 今天用MFC做了一个动太生成控件的小程序,有关生成的控件 在网上查了一 ...

  2. Winforn中使用代码动态生成控件

    场景 有时候需要根据配置文件在窗体中使用代码动态生成控件. 比如读取xml配置文件中的节点数量,然后在窗体中生成指定数量的RadioGroup控件. 实现 新建一个窗体,在窗体的加载完之后的事件中 p ...

  3. PB9.0动态生成控件

    在做毕业设计的时候,遇到了用复选框来显示数据库中的信息,但是数量不能确定.因此,需要减低程序显示时和数据库的耦合度,让程序自己可以根据数据库的记录的信息数量变化自动适应.基于该需求用到了动态生成控件. ...

  4. winform中动态生成控件

    最近做winform程序,算是第一次做winform项目吧,记录一下. 本文介绍了如何在一个winform程序中动态创建控件,以下的代码片段演示了在一个pannel容器中动态生成button的功能.详 ...

  5. c#动态生成控件,并为控件注册事件

    今天写了一个动态添加radiobutton控件,并为控件注册一个事件,就顺便写了一个博客 首先为需要的控件new一个对象 RadioButton blackradio = new RadioButto ...

  6. 根据下拉框生成控件列表

    我们在开发的时候时常会遇到这样的情况.就是在添加数据的时候需要点击某个按钮增加一行或者增加一个对象等等.正好我这边遇到一个,写一个简单的 方便以后使用. <div class="hea ...

  7. 仿windows造字程序的 ASP.NET图片组合生成控件

    最近项目中做了一个有趣的控件,拿出来根大家分享一下,^_^ .在机械设计领域常常会涉及特殊符号,比如一个零件的检验项目有:垂直度.平行度等等.每个零件的检验项大多都由一个表示该检验项的特殊符号和一个误 ...

  8. C#学习笔记-Winform根据数据自动生成控件

    1.思路 (1)获取一个集合(数据) (2)遍历集合,设置统一的控件样式.设置控件坐标 (3)关联事件 2.实现 项目开发中,当需求发生改变时,UI界面需要简单更改,这时代码就需要去修改,这样子做比较 ...

  9. 动态添加综合布局---动态添加控件及将某XML动态加入到Activity显示(续)

    前言:以前曾写过一篇关于动态生成控件的文章<动态添加控件及将某XML动态加入到Activity显示>,比较浅显,对于RelativeLayout的相关布局设置方法及相对布局与线性布局的混合 ...

最新文章

  1. Liunx下MySQL常用命令
  2. Microbiome:微生物所刘双江组建立人肠道微生物资源库(hGMB)
  3. SAP WM 二步法确认TO场景下WM库存状态变化
  4. 【MySQL】MySQL的group_concat使用例子
  5. CodeForces #369 div2 D Directed Roads DFS
  6. arXiv爆款:想了解Attention就看它!清华计图胡事民团队出品
  7. 优米网:创业传记——傅盛
  8. 【Git学习笔记5】以普通模式合并(--no-ff)、push到远程库及分支管理策略
  9. js将docx转换为html,js 将word转换Html
  10. erpnext mysql_windows7+docker+erpnext部署
  11. ctrl c 失效了_[安卓+PC双端]超C女仆无馬中字
  12. db2数据库日期减一天_DB2 数据库中的日期与时间如何正确操作?(2)
  13. python enumeration_python枚举防止无效的属性分配
  14. php内支持sqlite,PHP能不能和sqlite搭配
  15. bankeralgorithm.jar中没有主清单属性_怀旧服:迅击指环和其拉之怒属性一致,为何狂暴战用迅击更好...
  16. 3700打印机和计算机连接,WNDR3700成功实现打印机服务器功能(刷机成WNDR3800)
  17. 《Windows游戏编程大师技巧》(第二版)
  18. JS字符串转json,json转字符串
  19. java中手机号隐藏4位
  20. Android将2张图片合成一张图片(Bitmap类型)附二维码生成

热门文章

  1. 什么样的女孩称得上为宝藏女孩?
  2. shell中的数学运算
  3. 金彩教育:网店运营必备技能有哪些
  4. python 多线程暂停功能
  5. Silhouette题解
  6. 鱼眼图像与柱面的投影
  7. html和css中input输入的样式调整
  8. C# DataGridView 获取当前单元格输入内容
  9. 【学习02】使用MySQL简单入门
  10. 制衣厂普工小伙用java代码写的xml解析框架