winform 代码生成textbox ,checkbox
参考地址: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的更多相关文章
- winform的Textbox设置只读之后ForeColor无效的解决方法
winform的Textbox设置只读之后ForeColor无效. 通过以下方法就可以解决: 设置为只读之后,把BackColor改一下,然后运行一下窗口,再设置ForeColor就没问题了. tbT ...
- WinForm -- 为TextBox文本框添加鼠标右键菜单
WinForm -- 为TextBox文本框添加鼠标右键菜单 1. 新建一个WinForm项目,放置一个TextBox控件 2. 从工具箱拖进来一个ContextMenuStrip 3. 将TextB ...
- Winform给TextBox设置默认值
Winform给TextBox设置默认值(获取焦点后默认值消失) 主要是通过TextBox的获取焦点Enter和失去焦点Leave两个事件来实现的, 思路如下: 1.设置一个字符串常量,作为TextB ...
- winform的Textbox设置只读之后使用ForeColor更改颜色
winform的Textbox设置只读之后设置ForeColor更改颜色无效.这是 TextBox 默认的行为. 解决方法:设置为只读之后,修改控件的BackColor,再设置ForeColor就可以 ...
- Winform中TextBox控件开启自动提示补全功能
问题:Winform开发中,有一个TextBox控件用以输入姓名,现希望在输入名字时能够自动提示所有可能的名字. 解答:winform中的TextBox控件含有如下三个属性: ① AutoComp ...
- winform中textbox提示框
在winform中向textbox输入内容时下面有提示信息,效果如图所示: private void Form1_Load(object sender, EventArgs e) { Auto ...
- C#winform的textbox怎么设置滚动条
用 C#开发软件的时候文本框textbox是没有滚动条的,而且是单行文本.下面教大家如何设置多行,并且设置横向滚动条和垂直滚动条. 打开VS工具,创建一个winform窗体项目.系统会自动创建一个主窗 ...
- WinForm自定义控件–TextBox扩展
一.简单回顾 在前两节中,对Panel和GroupBox控件进行了相关的扩展应用,主要都是设置控件的边框以及边框颜色等.本节,继续对WinForm现有的控件TextBox进行扩展,来满足实际开发中 ...
- 【转】winform程序textbox滚动条保持在最下面 内容不闪烁
在开发winform程序时,会用到textbox控件来显示信息,当把textbox的Multiline属性改为Ture时(即多行显示状态),ScrollBars属性改为Vertical(内容过多时,显 ...
随机推荐
- 动静分离+url地址重定向+HTTPS协议
动静分离+url地址重定向+HTTPS协议
- Redis 源码简洁剖析 12 - 一条命令的处理过程
命令的处理过程 Redis server 和一个客户端建立连接后,会在事件驱动框架中注册可读事件--客户端的命令请求.命令处理对应 4 个阶段: 命令读取:对应 readQueryFromClient ...
- Spring高级特性之一: Aware之ApplicationContextAware
关于Spring Aware之前似乎涉及过,但是未写过单独的小作文.这里为它专门写个小作文吧,关于它在自定义注解中的应用. 首先,概要介绍下Aware. Spring的依赖注入的最大亮点就是你所有的B ...
- 重启iptables造成nf_conntrack_max变成65535解决办法
现象: 查看 sysctl -a |grep nf_conntrack_maxnet.netfilter.nf_conntrack_max = 554288net.nf_conntrack_max = ...
- [虚拟化]虚拟机 XML 配置
虚拟机 XML 配置示例 虚拟机的 XML 配置(也称为 域 XML )决定虚拟机的设置和组件.下表显示了虚拟机(VM)的 XML 配置示例并解释了其内容. 要获取虚拟机的 XML 配置,您可以使用 ...
- 干掉Session?这个跨域认证解决方案真的优雅!
用户登录认证是 Web 应用中非常常见的一个业务,一般的流程是这样的: 客户端向服务器端发送用户名和密码 服务器端验证通过后,在当前会话(session)中保存相关数据,比如说登录时间.登录 IP 等 ...
- [题解]UVA11029 Leading and Trailing
链接:http://vjudge.net/problem/viewProblem.action?id=19597 描述:求n^k的前三位数字和后三位数字 思路:题目要解决两个问题.后三位数字可以一边求 ...
- ISISv4协议测试——网络测试仪实操
文章关键词 ISIS协议:路由协议:协议测试: 一.文章简介: isis是一种与ospf很相似的网络协议(属于动态路由协议),它被应用在巨大规模网络,如运营商以及银行等.同样的它也是基于链路状态算法, ...
- Linux 网络时间同步
Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC). 系统时间:指当前Linux Kernel中的时间. 硬件时间:主板上有电池供电的时 ...
- 【硬件基础知识】指令集框架(ISA:Instruction Set Architecture)
指令框架(ISA:Instruction Set Architecture) 定义 指令集架构(英语:Instruction Set Architecture,缩写为ISA),又称指令集或指令集体系, ...