我试图创建一个方法,可以查看程序中的所有文本框,并告诉我到目前为止下一个空白文本框。这就是我想出来的,无法让它发挥作用
public void CheckBox()
{
string[] itemBoxArray = new string[] { "itemBox1", "itemBox2", "itemBox3", "itemBox4", "itemBox5", "itemBox6",
"itemBox7", "itemBox8", "itemBox9", "itemBox10","itemBox11","itemBox12","itemBox13","itemBox14","itemBox15","itemBox16",};
for (int i = 0; i < itemBoxArray.Length; i++)
{
if (itemBoxArray[i] == string.Empty)
{
MessageBox.Show(" " + itemBoxArray[i] + " Is empty");
}
else
{
MessageBox.Show("Item Box is full");
}
}
}
答案 0 :(得分:2)
创建TextBox
数组,如下所示
public void CheckBox()
{
TextBox[] itemBoxArray = new TextBox[] { itemBox1, itemBox2, ........};
for (int i = 0; i < itemBoxArray.Length; i++)
{
if (String.IsNullOrEmpty(itemBoxArray[i].Text))
{
MessageBox.Show(" " + itemBoxArray[i].Name + " Is empty");
}
else
{
MessageBox.Show("Item Box is full");
}
}
}
答案 1 :(得分:0)
您可以使用类似的内容来查找具有空TextBox
值的第一个Text
:
var emptyTextBox = Controls.OfType<TextBox>().First(x => x.Text == string.Empty);
MessageBox.Show(string.Format(" {0} Is empty", emptyTextBox.Name));
你可能不得不加强这一点。
如果TextBox
为空,则会失败。使用FirstOrDefault
并测试null
是否存在问题。
此外,它无法在TextBox
或GroupBox
内找到Panel
控件。根据表单的设计方式,这可能无关紧要。
如果您只需要设置一定数量的TextBox
控件,那么您的代码可以进行一些调整,但是如果您要继续添加更多TextBox
个,那么#39;维持是一种痛苦。