c#获取文本框的值并存放在数组中

2025-02-27 20:07:46
推荐回答(3个)
回答1:

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

 不过,这样做有一个问题:数组里字符串不一定和界面上的文本框顺序对应。要解决这个问题,你可以为每个文本框的Tag属性设置特定的字符串,然后,获取每个文本框的Text 并带上Tag值。这样就好识别了。例如,将最左上角那个文本框的Tag值设置为"p:",接下来的文本框Tag设置为"q:",……依次类推,代码可修改为:


List values = new List();
foreach( Control c in this.Controls)
{
    if(c is TextBox)
    {

        TextBox t = c As TextBox;

        string name = (string)t.Tag;

        string value = t.Text;
        values.Add( name + value);
    }
}
string[] valueArray = values.ToArray();

回答2:

把你要统计的文本框控件放在一个panel上,每个控件的tag设定一个排序值,
比如0,1,3.
然后取panel的control,先过滤类型为Testbox,然后再根据tag属性排序。就OK了。

回答3:

ArrayList list = new ArrayList();
foreach (Control item in Controls)
{
if (item is TextBox)
{
list.Add(item.Text);
}
}