如何根据自己输入的行跟列生成一个矩形的小输入框,运行成功后在窗体程序中显示出来
时间: 2024-10-09 07:06:49 浏览: 31
要在Windows Forms应用程序中根据输入的行数和列数动态创建矩形的文本框数组(TextBox),你可以使用`System.Windows.Forms.Controls`中的`TextBox`控件,并利用循环遍历的方式来创建。以下是一个简单的示例:
```csharp
using System;
using System.Windows.Forms;
public partial class Form1 : Form
{
private TextBox[,] textBoxes;
public Form1()
{
InitializeComponent();
// 获取用户输入的行数和列数
int rows = int.Parse(Console.ReadLine());
int cols = int.Parse(Console.ReadLine());
// 创建一个大小为 (rows, cols) 的 TextBox 数组
textBoxes = new TextBox[rows, cols];
// 遍历并添加 TextBox 到表格布局
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
TextBox textBox = new TextBox();
textBox.Location = new Point(10 + j * 50, 10 + i * 30); // 设置位置,这里假设每个单元格宽50px高30px
textBox.Name = $"textBox_{i}_{j}"; // 给每个TextBox命名以便后续访问
tableLayoutPanel1.Controls.Add(textBox);
textBoxes[i, j] = textBox; // 存储到数组中
}
}
}
// Form1 的 Load 事件或按钮点击事件中调用此方法
private void DisplayTextBoxes()
{
// 显示所有 TextBox
foreach (var textBox in textBoxes)
{
textBox.Visible = true;
}
}
}
```
在这个例子中,你需要在Form的构造函数里获取用户的输入(行数和列数),然后使用嵌套循环创建 TextBox 并添加到表格布局(如 `TableLayoutPanel`)中。`DisplayTextBoxes` 方法用于在窗体加载后显示所有的 TextBox。
运行时,确保你的表单上有一个名为`tableLayoutPanel1`的`TableLayoutPanel`控件,用于容纳这些 TextBox。
阅读全文