-5

私はC#を手に入れようとしていて、現時点ではいくつかの基本的な検証作業を行っています。

そのため、errorProviderコントロールを使用していますが、フォームの[OK]ボタンを押すと、フォームが送信されるだけです。ええ、エラーアイコンは本来あるべき場所に表示されます(検証は機能します)が、実際にエラーがあったかどうかを確認して、フォームが送信されないようにするにはどうすればよいですか?できるだけ初心者に優しいようにしてください。C#はほとんど理解できません。

4

2 に答える 2

2

エラープロバイダーを使用して検証を処理している場合は、次のようになります。

    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」ビジネスは、フォームの終了を停止するものです。

于 2013-03-06T21:03:31.347 に答える
0

検証には多くの方法があります。この記事を読んで開始すると、多くの質問が消えますhttp://msdn.microsoft.com/en-us/library/debza5t0%28v=vs.100%29.aspx

于 2013-03-06T21:02:50.677 に答える