参考地址: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. Spring Bean配置加载为BeanDefinition全过程(注解配置)

    生产中有很多形式的的配置方式,本文仅分析注解配置.对于其他形式的配置区别主观以为主要在配置文件的解析过程不同,不一一分析了.本文以利用Dubbo框架开发rpc服务端为例详细阐述配置类的解析.数据保存. ...

  2. Android SugarORM(3)

    Android Sugar ORM (3) Android Sugar ORM 查询 我们在此之前介绍了一些关于Sugar ORM的简单操作, 现在我们就查询来具体说一下 Sugar ORM中的fin ...

  3. Django框架路由分发-名称空间

    目录 一:路由分发 1.路由分发简介 2.总路由分发配置 3.总路由终极配置(不需要导应用路由,直接点应用即可) 4.子路由配置 二:名称空间 1.名称空间应用场景 3.解决方式二>>&g ...

  4. 八大排序算法之直接插入排序(InsertionSort)

    常见的排序算法 今天复习[直接插入排序] 核心思想:有序数组中 找位置 -- 给无序数组第一个 找位置 ` public class InsertionSort { // 核心思想:有序数组中 找位置 ...

  5. 一个杂项PDF

    不是很难,但是就是比较考虑个人的细心程度,下载压缩包解压得到一个pdf文件,直接打开发现没有什么隐藏的信息,准换成word也是,没有什么东西,使用winhex打开看一下,一开始是没有注意到什么的,这里 ...

  6. kali linux开启ssh

    虚拟机中安装好Kali linux 2.0,如何从windows中通过SecureCRT.putty或XShell等工具远程到Kali中. [GeeK]出诊过程如下: 1.首先在window10中te ...

  7. 利用AWVS扫描Web漏洞

    实验目的 利用AWVS扫描Web漏洞. 实验原理 AWVS是一款知名的网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞. 实验内容 AWVS是一个自动化的web应用程序安全测试工具, ...

  8. idea教程--使用maven创建web项目

    1.单击create new project 2.运行maven项目 在pom.xml文件中添加tomcat插件然后如下图运行;

  9. 【Java分享客栈】一个包装过简历的新同事写完微信支付引起事故后果断离职了

    前言 挺长时间没发文了,因为公司有一个紧急项目要赶进度,加班如吃饭喝水,久违的进入到码农的状态. 之所以抽空来发个文,是这个项目才刚上线,时间不长却因为一位新同事的代码引起了生产环境的事故,造成了一批 ...

  10. php 和微信小程序 解构赋值

    php 解构赋值只能解构索引数组 js: