阻止用户移动到下一个表单

本文关键字:下一个 表单 移动 用户 | 更新日期: 2023-09-27 17:49:15

我有一个Form和一个TextBox。我想防止用户在没有填写黑色TextBox的情况下转移到下一个表单。我该怎么做呢?

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

我还应该补充什么?

阻止用户移动到下一个表单

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 from事件参数来获取特定的文本框实例)

private void Form_FormClosing(object sender, FormClosingEventArgs e)
    {
        if (textBox.Text.Length == 0)
        {
            MessageBox.Show("Please fill the field");
            e.Cancel = true;
        }
    }

你还想要什么?
下面的代码将用于移动到下一个表单

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
     }
}