【问题标题】:Textbox values to array文本框值到数组
【发布时间】:2011-11-05 19:33:23
【问题描述】:

我有几个文本框,我想遍历它们并检查它们是否包含一个值,如果包含,则将其放入一个数组中。

文本框称为 txtText1、txtText2....txtText12。 这是我到目前为止得到的:

for (int i = 1; i < 13; i++)
{
   if(txtText[i] != String.Empty)
    {
        TextArray[i] = Convert.ToString(txtText[i].Text);
    }
}

..但是 txtText[i] 是不允许的。

如何循环遍历这些框?

【问题讨论】:

    标签: c# arrays loops textbox


    【解决方案1】:

    理想情况下,首先将它们放在一个数组中,而不是使用多个单独的变量。本质上你想要一个文本框的集合,对吧?所以使用集合类型。

    可以使用

    TextBox tb = (TextBox) Controls["txtText" + i];
    

    假设他们的 ID 已正确指定,但我个人会使用 设计的集合 来处理这类事情。

    【讨论】:

      【解决方案2】:

      假设 txtText 数组包含对 TextBox 对象的引用,您可以这样做

      var textArray=txtText.Where(t=>!string.IsNullOrEmpty(t.Text)).Select(t=>t.Text).ToArray();
      

      【讨论】:

        【解决方案3】:

        我认为你不能再在设计器中制作这样的数组对象了。

        无论如何你都可以做:你可以创建一个类变量IEnumerable&lt;Textbox&gt; _textboxes,并用构造函数中的所有文本框填充它。

        然后在你的代码中你可以这样做

        foreach(var textbox in _textboxes)
        {
            Console.WriteLine(textbox.Text); // just an example, idk what you want to do with em
        }
        

        【讨论】:

          【解决方案4】:

          你可以这样试试....

          List<string> values = new List<string>();
              foreach(Control c in this.Controls)
              {
                  if(c is TextBox)
                  {
          
                      TextBox tb = (TextBox)c;
                      values.Add(tb.Text);
                  }
               }
               string[] array = values.ToArray();
          

          【讨论】:

            【解决方案5】:

            尝试创建一个文本框列表而不是这样的数组:

            List<TextBox> myTextboxList = new List<TextBox>();
            myTextBoxList.Add(TextBox1);
            myTextBoxList.Add(TextBox2);
            mytextBoxList.Add(TextBox3);
            

            然后使用 foreach 像这样一次访问每个项目:

            Foreach (TextBox item in myTextboxList) {
                // Do something here, for example you can:
                item.Text = "My text goes here";
            }
            

            【讨论】:

              猜你喜欢
              • 2017-04-07
              • 1970-01-01
              • 2018-06-08
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多