C#怎么通过for循环取出多个textBox控件里的值?
发布网友
发布时间:2023-04-11 00:36
我来回答
共4个回答
热心网友
时间:2023-09-18 16:25
如果你程序习惯好的话,就会给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"
这样来判断
热心网友
时间:2023-09-18 16:25
利用递归获取一个控件里的所有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);
}
}
}
热心网友
时间:2023-09-18 16:26
foreach(Control item in this.Controls)
{
if(item is TextBox)
{
string currentText = ((TextBox)item).Text;//获取文本框的值
}
}
热心网友
时间:2023-09-18 16:27
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;//获取文本框的值
}
}