C#怎么通过for循环取出多个textBox控件里的值?

如题... 如题 展开
 我来答
百度网友320bc05
推荐于2017-11-26 · TA获得超过147个赞
知道小有建树答主
回答量:114
采纳率:100%
帮助的人:81.5万
展开全部
如果你程序习惯好的话,就会给textbox的name属性赋值,这样就就可以获取指定的textbox了
foreach(Control item in this.Controls)
{
if(item is TextBox && item.Name.IndexOf("txtFind") == 0)
{
string currentText = ((TextBox)item).Text;//获取文本框的值
}
}
追问
if (item is TextBox && item.Name.IndexOf("xxBox") == 0)

重命名成xxBox的几个textBox中的值都没有取出来
追答
如果你重新命名的是“xxBox”,xx是不一致的地方的话,就说明名字的规律是在最后的,这样的话indexof就不可以等于0了,我一般命名textbox是以txt开头的
box结尾也可以,item.Name.Substring(item.Name.Length-3)=="Box"

这样来判断
sczmzx
推荐于2018-11-05
知道答主
回答量:11
采纳率:0%
帮助的人:13.1万
展开全部
利用递归获取一个控件里的所有textbox:
List<TextBox> lstTextBox = new List<TextBox>();
private void GetText(Control con)
{
if (con is TextBox)
{
lstTextBox.Add((con as TextBox));
}
else
{
foreach (Control co in con.Controls)
{
GetText(co);
}
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
扬璞玉6e
2014-06-30 · TA获得超过222个赞
知道小有建树答主
回答量:327
采纳率:0%
帮助的人:117万
展开全部
foreach(Control item in this.Controls)
{
if(item is TextBox)
{
string currentText = ((TextBox)item).Text;//获取文本框的值
}
}
更多追问追答
追问
你好,能不能只对部分textBox取值呢?比如将texBox改成xxBox后怎么改?
追答
先判断是否为TextBox,将符合条件的转换成TextBox控件后直接改变属性就可以了呀,像操作一般的文本框控件一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
咖啡嘤0o
2014-06-30 · TA获得超过144个赞
知道小有建树答主
回答量:161
采纳率:0%
帮助的人:140万
展开全部
foreach (Control item in this.Controls)
{
if (item is System.Windows.Forms.TextBox && item.Name.Substring(item.Name.Length - 3, 3).Equals("Box"))
{
string currentText = ((System.Windows.Forms.TextBox)item).Text;//获取文本框的值
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式