-3

我有Form一个TextBox。我想防止用户在不填写黑色的情况下继续下一个表单TextBox。我怎样才能做到这一点?

if(textBox.Text.Length == 0)
    MessageBox.Show("Have To Fill All The Fields!");

我还应该补充什么?

4

3 回答 3

3

将处理程序添加到Validating事件并使用错误提供程序来设置验证错误以控制:

void textBox_Validating(object sender, CancelEventArgs e) 
{
  string error = null;
  if(textBox.Text.Length == 0 ) {
    error = "Please enter this value";
    e.Cancel = true;
  }
  errorProvider1.SetError((Control)sender, error);
}

您可以对多个文本框控件使用相同的处理程序(只需使用事件参数中的 sender 来获取特定的文本框实例)。

于 2012-12-23T17:12:16.550 回答
1
private void Form_FormClosing(object sender, FormClosingEventArgs e)
    {
        if (textBox.Text.Length == 0)
        {
            MessageBox.Show("Please fill the field");
            e.Cancel = true;
        }
    }
于 2012-12-23T17:13:22.853 回答
0

你还想要什么?
代码将类似于继续下一个表单的代码

protected void btn_Click(object sender, EventArgs e)
{
     if(textBox.Text.Length == 0)
     {
          MessageBox.Show("Have To Fill All The Fields!");
          textBox.focus();
     }
     else
     {
          // Work to move on next form
     }
}
于 2012-12-23T17:14:18.890 回答