我有Form
TextBox
。我想阻止用户在不填写黑色TextBox
的情况下转到下一个表单。我怎么能这样做?
if(textBox.Text.Length == 0)
MessageBox.Show("Have To Fill All The Fields!");
我还应该添加什么?
答案 0 :(得分: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);
}
您可以为多个文本框控件使用相同的处理程序(只需使用事件参数中的发件人来获取特定的文本框实例)。
答案 1 :(得分:1)
private void Form_FormClosing(object sender, FormClosingEventArgs e)
{
if (textBox.Text.Length == 0)
{
MessageBox.Show("Please fill the field");
e.Cancel = true;
}
}
答案 2 :(得分: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
}
}