检查空文本框

时间:2014-04-16 02:46:11

标签: c# winforms textbox

我试图创建一个方法,可以查看程序中的所有文本框,并告诉我到目前为止下一个空白文本框。这就是我想出来的,无法让它发挥作用

    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");
            }
        }
    }

2 个答案:

答案 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是否存在问题。

  • 此外,它无法在TextBoxGroupBox内找到Panel控件。根据表单的设计方式,这可能无关紧要。

如果您只需要设置一定数量的TextBox控件,那么您的代码可以进行一些调整,但是如果您要继续添加更多TextBox个,那么#39;维持是一种痛苦。