参考地址:https://jingyan.baidu.com/article/380abd0a6b80701d90192cde.html

首先搭建好Winform项目框架后,创建窗体页面后自行布局

这里我放置了1个TextBox,3个Button

  1 using System.ComponentModel;
2 using System.Data;
3 using System.Drawing;
4 using System.Linq;
5 using System.Text;
6 using System.Text.RegularExpressions;
7 using System.Threading.Tasks;
8 using System.Windows.Forms;
9
10 namespace WinAutoControl_C
11 {
12 public partial class Form1 : Form
13 {
14 public Form1()
15 {
16 InitializeComponent();
17 }
18
19 private void Form1_Load(object sender, EventArgs e)
20 {
21
22 }
23
24 private void 生成_Click(object sender, EventArgs e)
25 {
26
27 Regex regex = new Regex("^[0-9]*$");
28 if (!regex.IsMatch(txt_num.Text))
29 {
30 txt_num.BackColor = System.Drawing.Color.Red;
31 txt_num.Text = string.Empty;
32 MessageBox.Show("输入的值不是数字");
33 return;
34 }
35 txt_num.BackColor = System.Drawing.Color.White;
36 int n = int.Parse(txt_num.Text);
37 int row = 0;
38 for (int i = 0; i < n; i++)
39 {
40 if (i % 5 == 0 && i != 0)
41 {
42 row++;
43 }
44 //参数
45 TextBox box = new TextBox();
46 box.Name = "arryTextBox" + i.ToString();
47 box.Multiline = true;
48 box.Text = string.Format("文本框{0}", i + 1);
49 box.Size = new Size(129, 124);
50 box.Location = new Point(65 + i % 5 * 280, 65 + row * 170);
51 panel6.Controls.Add(box);
52 }
53 }
54
55 private void button1_Click(object sender, EventArgs e)
56 {
57 int row1 = 0;
58 int c = int.Parse(txt_num.Text);
59 for (int i = 0; i < c; i++)
60 {
61 if (i % 5 == 0 && i != 0)
62 {
63 row1++;
64 }
65 //参数名称
66 TextBox box1 = new TextBox();
67 box1.Name = "nameTextBox" + i.ToString();
68 box1.Multiline = true;
69 box1.Text = string.Format("名称{0}", i + 1);
70 box1.Size = new Size(115, 25);
71 box1.Location = new Point(210 + i % 5 * 280, 65 + row1 * 170/*209 + row *50*/);
72 panel6.Controls.Add(box1);
73
74 }
75 }
76 private void button2_Click(object sender, EventArgs e)
77 {
78 int row2 = 0;
79
80 int d = int.Parse(txt_num.Text);
81 for (int i = 0; i < d; i++)
82 {
83 if (i % 5 == 0 && i != 0)
84 {
85 row2++;
86 }
87 //参数名称
88 CheckBox chk = new CheckBox();
89 chk.Name = "nameCheckBox" + i.ToString();
90 chk.Text = string.Format("Chk{0}", i + 1);
91 chk.Size = new Size(100, 20);
92 chk.Location = new Point(210 + i % 5 * 280, 170 + row2 * 170 /*210 + row * 50*/);
93 panel6.Controls.Add(chk);
94
95 }
96 }
97
98 private void txt_num_KeyUp(object sender, KeyEventArgs e)
99 {
100
101 }
102 }
103 }

效果

重点还是Location的位置的计算,自己慢慢找规律,实在不行就找好,规律慢慢修改调整位置。

参考

winform 代码生成textbox ,checkbox的更多相关文章

  1. winform的Textbox设置只读之后ForeColor无效的解决方法

    winform的Textbox设置只读之后ForeColor无效. 通过以下方法就可以解决: 设置为只读之后,把BackColor改一下,然后运行一下窗口,再设置ForeColor就没问题了. tbT ...

  2. WinForm -- 为TextBox文本框添加鼠标右键菜单

    WinForm -- 为TextBox文本框添加鼠标右键菜单 1. 新建一个WinForm项目,放置一个TextBox控件 2. 从工具箱拖进来一个ContextMenuStrip 3. 将TextB ...

  3. Winform给TextBox设置默认值

    Winform给TextBox设置默认值(获取焦点后默认值消失) 主要是通过TextBox的获取焦点Enter和失去焦点Leave两个事件来实现的, 思路如下: 1.设置一个字符串常量,作为TextB ...

  4. winform的Textbox设置只读之后使用ForeColor更改颜色

    winform的Textbox设置只读之后设置ForeColor更改颜色无效.这是 TextBox 默认的行为. 解决方法:设置为只读之后,修改控件的BackColor,再设置ForeColor就可以 ...

  5. Winform中TextBox控件开启自动提示补全功能

    问题:Winform开发中,有一个TextBox控件用以输入姓名,现希望在输入名字时能够自动提示所有可能的名字. 解答:winform中的TextBox控件含有如下三个属性:   ① AutoComp ...

  6. winform中textbox提示框

    在winform中向textbox输入内容时下面有提示信息,效果如图所示: private void Form1_Load(object sender, EventArgs e) {     Auto ...

  7. C#winform的textbox怎么设置滚动条

    用 C#开发软件的时候文本框textbox是没有滚动条的,而且是单行文本.下面教大家如何设置多行,并且设置横向滚动条和垂直滚动条. 打开VS工具,创建一个winform窗体项目.系统会自动创建一个主窗 ...

  8. WinForm自定义控件–TextBox扩展

      一.简单回顾 在前两节中,对Panel和GroupBox控件进行了相关的扩展应用,主要都是设置控件的边框以及边框颜色等.本节,继续对WinForm现有的控件TextBox进行扩展,来满足实际开发中 ...

  9. 【转】winform程序textbox滚动条保持在最下面 内容不闪烁

    在开发winform程序时,会用到textbox控件来显示信息,当把textbox的Multiline属性改为Ture时(即多行显示状态),ScrollBars属性改为Vertical(内容过多时,显 ...

随机推荐

  1. 动静分离+url地址重定向+HTTPS协议

    动静分离+url地址重定向+HTTPS协议

  2. Redis 源码简洁剖析 12 - 一条命令的处理过程

    命令的处理过程 Redis server 和一个客户端建立连接后,会在事件驱动框架中注册可读事件--客户端的命令请求.命令处理对应 4 个阶段: 命令读取:对应 readQueryFromClient ...

  3. Spring高级特性之一: Aware之ApplicationContextAware

    关于Spring Aware之前似乎涉及过,但是未写过单独的小作文.这里为它专门写个小作文吧,关于它在自定义注解中的应用. 首先,概要介绍下Aware. Spring的依赖注入的最大亮点就是你所有的B ...

  4. 重启iptables造成nf_conntrack_max变成65535解决办法

    现象: 查看 sysctl -a |grep nf_conntrack_maxnet.netfilter.nf_conntrack_max = 554288net.nf_conntrack_max = ...

  5. [虚拟化]虚拟机 XML 配置

    虚拟机 XML 配置示例 虚拟机的 XML 配置(也称为 域 XML )决定虚拟机的设置和组件.下表显示了虚拟机(VM)的 XML 配置示例并解释了其内容. 要获取虚拟机的 XML 配置,您可以使用 ...

  6. 干掉Session?这个跨域认证解决方案真的优雅!

    用户登录认证是 Web 应用中非常常见的一个业务,一般的流程是这样的: 客户端向服务器端发送用户名和密码 服务器端验证通过后,在当前会话(session)中保存相关数据,比如说登录时间.登录 IP 等 ...

  7. [题解]UVA11029 Leading and Trailing

    链接:http://vjudge.net/problem/viewProblem.action?id=19597 描述:求n^k的前三位数字和后三位数字 思路:题目要解决两个问题.后三位数字可以一边求 ...

  8. ISISv4协议测试——网络测试仪实操

    文章关键词 ISIS协议:路由协议:协议测试: 一.文章简介: isis是一种与ospf很相似的网络协议(属于动态路由协议),它被应用在巨大规模网络,如运营商以及银行等.同样的它也是基于链路状态算法, ...

  9. Linux 网络时间同步

    Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC). 系统时间:指当前Linux Kernel中的时间. 硬件时间:主板上有电池供电的时 ...

  10. 【硬件基础知识】指令集框架(ISA:Instruction Set Architecture)

    指令框架(ISA:Instruction Set Architecture) 定义 指令集架构(英语:Instruction Set Architecture,缩写为ISA),又称指令集或指令集体系, ...