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]; 展开
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]; 展开
3个回答
展开全部
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了。
比如0,1,3.
然后取panel的control,先过滤类型为Testbox,然后再根据tag属性排序。就OK了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ArrayList list = new ArrayList();
foreach (Control item in Controls)
{
if (item is TextBox)
{
list.Add(item.Text);
}
}
foreach (Control item in Controls)
{
if (item is TextBox)
{
list.Add(item.Text);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询