【问题标题】:C# winform iterate textbox property [duplicate]C#winform迭代文本框属性[重复]
【发布时间】:2020-01-26 02:58:38
【问题描述】:

我是 C# 新手,并尝试在我的 winform 应用程序上迭代 4 个文本框的值,在我查看列表数组之前,是否可以循环所有 4 个附加索引号的文本框?

例子

for(i =0; i == 4; i++){
   textBox_+ i +.Text
}

【问题讨论】:

标签: c# winforms


【解决方案1】:

当然可以,尽管您的做法略有不同。您需要遍历 Control 集合并搜索您的文本框。 例如

foreach (var textBox in this.Controls.OfType<TextBox>())
{
    textBox.Text = "bla";
}

如果您只想访问某些文本框 - 您可以通过 Tag 属性标记它们并仅搜索这些文本框。例如

foreach (var textBox in this.Controls.OfType<TextBox>())
{
    if (textBox.Tag == "sometag")
        textBox.Text = "bla";
}

【讨论】:

  • 我会创建一个 List 可能是一个 Dictonary 而不是总是遍历所有控件。
  • 答案一如既往地“视情况而定”。额外的列表和字典将使用额外的内存,这可能是一个可以接受的权衡,也可以不是。
  • 是的。虽然四个名字和地址很难被认为是一种负担。我们不知道会有多少控件,也不知道它们需要多久被搜索一次。额外的好处:它将允许排除表单上的其他文本框或包括嵌套的文本框。但这对爵士乐来说已经足够了..
猜你喜欢
  • 2013-06-21
  • 1970-01-01
  • 1970-01-01
  • 2011-06-18
  • 2021-03-28
  • 1970-01-01
  • 2018-06-24
  • 2012-07-23
  • 2012-02-14
相关资源
最近更新 更多