You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio C#:动态创建TextBox的内容批量保存实现问询

嘿,我懂你想要实现的功能!动态创建的TextBox没法像固定控件那样直接用数组下标调用,但咱们有两种简单的方法来达成你的目标,刚好匹配你想要的遍历思路~

方法一:创建时维护一个TextBox集合(推荐)

这种方法最直接高效,因为我们在创建TextBox的时候就把它们统一存起来,后续直接遍历这个集合就行:

首先,在你的窗体类里定义一个全局的集合,用来存放所有动态创建的TextBox:

private List<TextBox> dynamicTextBoxes = new List<TextBox>();

然后在动态创建TextBox的代码里,把每个新生成的TextBox添加到这个集合中:

// 举个例子:创建5个动态TextBox并添加到窗体
for (int i = 0; i < 5; i++)
{
    TextBox newTb = new TextBox();
    // 设置位置、大小等属性
    newTb.Location = new Point(50, 50 + i * 35);
    newTb.Size = new Size(200, 25);
    newTb.Name = $"DynamicTB_{i}"; // 可选:给控件命名,方便后续识别

    // 将TextBox添加到窗体(或指定的Panel/GroupBox)
    this.Controls.Add(newTb);
    // 关键步骤:把新TextBox加入我们的集合
    dynamicTextBoxes.Add(newTb);
}

接下来在SAVE按钮的点击事件里,就可以像你设想的那样遍历集合,把内容存到数组或字符串中:

private void btnSave_Click(object sender, EventArgs e)
{
    // 1. 存到字符串数组里
    string[] tbContentsArray = new string[dynamicTextBoxes.Count];
    for (int i = 0; i < dynamicTextBoxes.Count; i++)
    {
        tbContentsArray[i] = dynamicTextBoxes[i].Text;
    }

    // 2. 存到单个字符串(这里用换行符分隔,你可以换成逗号、分号等自己需要的分隔符)
    string combinedText = string.Join(Environment.NewLine, dynamicTextBoxes.Select(tb => tb.Text));

    // 这里就可以使用tbContentsArray或者combinedText进行后续的保存操作啦
}
方法二:遍历容器控件查找TextBox

如果之前没有提前维护集合,也可以通过遍历存放TextBox的容器(比如窗体、Panel等)的控件列表,筛选出所有TextBox:

private void btnSave_Click(object sender, EventArgs e)
{
    // 假设所有动态TextBox都在当前窗体上,要是在Panel里就换成panel1.Controls
    // 如果你有手动拖入的TextBox不想包含进来,可以加个Where条件过滤(比如根据Name前缀)
    var allDynamicTBs = this.Controls.OfType<TextBox>()
                                     .Where(tb => tb.Name.StartsWith("DynamicTB_"));

    // 转成数组
    string[] tbContentsArray = allDynamicTBs.Select(tb => tb.Text).ToArray();

    // 转成合并字符串
    string combinedText = string.Join(", ", allDynamicTBs.Select(tb => tb.Text));

    // 后续保存操作...
}

注意:如果TextBox嵌套在多层容器里(比如Panel里的GroupBox),直接遍历顶层容器的Controls可能找不到,这时候需要写个递归方法遍历所有子控件,但一般动态创建的控件都会放在同一个容器下,所以方法一还是更省心的选择~

内容的提问来源于stack exchange,提问作者Vlad Vlad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:32:26