Windows窗体应用程序:单击提交按钮时如何检查空文本框?

时间:2016-09-17 18:54:31

标签: c# forms validation textbox windows-forms-designer

在我的Windows窗体应用程序中,我有一组textBox1文本框 - textBox20和一个提交按钮(button1)。

当我按下提交按钮时,如何遍历所有文本框以检查其中是否有任何文本框为空,然后显示一个消息框,说“文本框#____不能为空”?

当我点击提交按钮时,我还想显示用户输入文本框的所有数据。

我对使用Windows窗体非常陌生,所以我需要帮助。

2 个答案:

答案 0 :(得分:0)

根据您手动创建文本框并且编号从1-20编号的事实,您可以执行以下操作:

 private void checkTextBoxes(){
    List<string> textValues = new List<string>();
    bool emptyFound = false;
    for(int i=1;i<21;i++){
       TextBox t = this.Controls.Find("TextBox"+i.ToString(),true)[0] as TextBox;
       //use parent control if you have one ex: Panel1.Controls.Find
       if(t.Text.Length==0){
           emptyFound=true;
           break;
       }
       textValues.Add(t.Text);
    }
    if(emptyFound){
        MessageBox.Show("You left a textbox blank");
    }else{
        MessageBox.Show("You entered values:\n"+String.Join("\n",textValues));
    }
 }

答案 1 :(得分:0)

你可以试试这个

private void TextBoxEmpty()
    {
        StringBuilder result = new StringBuilder();
        bool emptyTextbox = false;
        for (int i = 1; i <= 20; i++)
        {
            try
            {
                TextBox myTextBox = (TextBox)Controls.Find("textBox" + i.ToString(), true)[0];
                if (string.IsNullOrEmpty(myTextBox.Text))
                {
                    MessageBox.Show(myTextBox.Name + " cannot be left empty");
                    emptyTextbox = true;
                    continue;
                }
                result.Append(myTextBox.Text + Environment.NewLine);
            }
            catch
            {
                continue;
            }
        }
        if (!emptyTextbox)
            MessageBox.Show(result.ToString());
    }