C#怎么实现同时获取多个文本框的内容 5

最好能写部分代码... 最好能写部分代码 展开
 我来答
s287937592
2013-09-21 · 超过53用户采纳过TA的回答
知道小有建树答主
回答量:98
采纳率:0%
帮助的人:92.7万
展开全部
C# 能写二种代码,winform和asp.net
winform:
将你的多个文本框放到一个容器中,比如panel
List<string> lst = new List<string>();
foreach (Control c in panel1.Controls)
{
if (c.GetType() == typeof(TextBox))
{
lst.Add((c as TextBox).Text);
}
}
//lst中就是所有文本框中的值

asp.net:
如果是asp.net用上面的也行,用下面的也行
List<string> lst = new List<string>();
for (int i = 0; i < Panel1.Controls.Count;i++ )
{
lst.Add(((TextBox)(Panel1.FindControl("TextBox" + (i + 1)))).Text)

}
//FindControl("TextBox" + (i + 1))中的"TextBox" + (i + 1)就是panel中的TextBox1,TextBox2...控件
更多追问追答
追问
怎么把获取的值分别付给不同的变量呢?

比如我有3个文本框,名字是TextBox1,TextBox2,TextBox3.
同时放在名字叫groupBox1容器里面。
怎么将从三个文本框里面获取的信息验证是int类型的数据付给int a,b,c;
winform语言:
谢谢
追答
如果是这样的话就是这样写吧
int a,b,c;

foreach (Control c in groupBox1.Controls)
{
if (c.GetType() == typeof(TextBox))
{

int inttmp=0;
if (int.TryParse((c as TextBox).Text, out inttmp))
{
switch ((c as TextBox).Name)
{
case "TextBox1": a = inttmp; break;
case "TextBox2": b = inttmp; break;
case "TextBox3": c = inttmp; break;
}
}
}
}

//注意,为什么用swich,因为我肯定不了先循环出来的是textbox1,后出textbox2.......
//见意你不要用循环了,winform做这种的东西用循环还不如直接赋值好.
//int.TryParse(TextBox1.Text, out a)你就用这句直接赋吧,如果转换正确的话就是框中的值,不正确就是0
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式