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

我依次输入x1-x8,y1-y8的值,可以得到曲线以及各个参数及中间变量。现在想点击Button3后,依次从左到右,从上到下,遍历文本框的值保存在数组中。请大神指点程序。... 我依次输入x1-x8,y1-y8的值,可以得到曲线以及各个参数及中间变量。现在想点击Button3后,依次从左到右,从上到下,遍历文本框的值保存在数组中。请大神指点程序。

string[] values = new string[99];
for (int i = 0; i < this.Controls.Count; i++)
{
if (Controls[i] is TextBox)
//下面这句程序,读不出来值,这个就是我纠结的,请大神指点。
values[i] = ((TextBox)Controls[i]).Text;
values[i] += values[i];

textBox25.Text = values[i];
展开
 我来答
freeeeeewind
2014-04-01 · TA获得超过1万个赞
知道大有可为答主
回答量:3227
采纳率:94%
帮助的人:1352万
展开全部
List<string> values = new List<string>();
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<string> values = new List<string>();
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();

追问
string x1 = textBox1.Text;。。。  strdata = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8; textBox25.Text = strdata;这样写的话能显示,不过将X1文本框的name改成x1,string x1 = x1.Text;这样就错误,这是为什么呢?另一个程序要这样功能,但是他的文本框NAME改了,有什么方法吗?
追答
出现什么错误?
foreach( Control c in this.Controls)遍历语句 以及 if(c is TextBox)判断语句,与控件的名称没有关系呀。
匿名用户
2014-04-01
展开全部
把你要统计的文本框控件放在一个panel上,每个控件的tag设定一个排序值,
比如0,1,3.
然后取panel的control,先过滤类型为Testbox,然后再根据tag属性排序。就OK了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hongfei357
2014-04-01 · TA获得超过285个赞
知道小有建树答主
回答量:384
采纳率:100%
帮助的人:215万
展开全部
ArrayList list = new ArrayList();
foreach (Control item in Controls)
{
if (item is TextBox)
{
list.Add(item.Text);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式