C# Windows窗体中的文本框验证

C# Windows窗体中的文本框验证,c#,.net,winforms,textbox,validation,C#,.net,Winforms,Textbox,Validation,我想验证用户在提交表单之前总是在文本框中输入一个值。但我所做的检查允许用户输入空白并继续提交表单。 因此,如果文本框中只有空格,如何设置复选框以使用户无法提交表单。您可以自定义验证功能。这可能很幼稚,但不知何故它会起作用 private bool WithErrors() { if(textBox1.Text.Trim() == String.Empty) return true; // Returns true if no input or only space is

我想验证用户在提交表单之前总是在文本框中输入一个值。但我所做的检查允许用户输入空白并继续提交表单。
因此,如果文本框中只有空格,如何设置复选框以使用户无法提交表单。

您可以自定义验证功能。这可能很幼稚,但不知何故它会起作用

private bool WithErrors()
{
    if(textBox1.Text.Trim() == String.Empty) 
        return true; // Returns true if no input or only space is found
    if(textBox2.Text.Trim() == String.Empty)
        return true;
    // Other textBoxes.

    return false;
}

private void buttonSubmit_Click(object sender, EventArgs e)
{
    if(WithErrors())
    {
        // Notify user for error.
    }
    else
    {
        // Do whatever here... Submit
    }
}

在NET4.0中有一个很好的函数

 if(string.IsNullOrWhiteSpace(textBox1.Text))
{
   //raise your validation exception
}
else {
  //go to submit
}

使用错误提供程序可以很容易地完成此操作。这是代码。您可以在工具箱中找到错误提供程序

    private void btnsubmit_Click(object sender, EventArgs e)
            {

                if (string.IsNullOrEmpty(txtname.Text))
                {

                    txtname.Focus();
                    errorProvider1.SetError(txtname, "Please Enter User Name");
                }

                if (string.IsNullOrEmpty(txtroll.Text)) {
                    txtroll.Focus();
                    errorProvider1.SetError(txtroll, "Please Enter Student Roll NO");
                }
}
这是输出图像


您已将问题标记为winforms,但听起来好像您在询问webforms。这是哪一个?这个()与和一起会更好。这三样东西一起工作就像一种魅力。