私はC#を手に入れようとしていて、現時点ではいくつかの基本的な検証作業を行っています。
そのため、errorProviderコントロールを使用していますが、フォームの[OK]ボタンを押すと、フォームが送信されるだけです。ええ、エラーアイコンは本来あるべき場所に表示されます(検証は機能します)が、実際にエラーがあったかどうかを確認して、フォームが送信されないようにするにはどうすればよいですか?できるだけ初心者に優しいようにしてください。C#はほとんど理解できません。
私はC#を手に入れようとしていて、現時点ではいくつかの基本的な検証作業を行っています。
そのため、errorProviderコントロールを使用していますが、フォームの[OK]ボタンを押すと、フォームが送信されるだけです。ええ、エラーアイコンは本来あるべき場所に表示されます(検証は機能します)が、実際にエラーがあったかどうかを確認して、フォームが送信されないようにするにはどうすればよいですか?できるだけ初心者に優しいようにしてください。C#はほとんど理解できません。
エラープロバイダーを使用して検証を処理している場合は、次のようになります。
private void textBox1_Validating(object sender, CancelEventArgs e)
{
TextBox tb = sender as TextBox;
if (tb.Text.Length > 0)
{
e.Cancel = true;
errorProvider1.SetError(tb, "Please leave this textbox blank!");
}
else
{
errorProvider1.SetError(tb, "");
}
}
これにより、コントロールをクリックするのを防ぐことができます
または、次のように[OK]ボタンクリックハンドラーを実装します。
private void OkBtn_Click(object sender, EventArgs e)
{
if (!Validate())
{
DialogResult = System.Windows.Forms.DialogResult.None;
}
}
「DialogResult=none」ビジネスは、フォームの終了を停止するものです。
検証には多くの方法があります。この記事を読んで開始すると、多くの質問が消えますhttp://msdn.microsoft.com/en-us/library/debza5t0%28v=vs.100%29.aspx