1

ユーザーコントロールとコンボボックスが空白に設定されたフォームであるウィンドウに最初にアクセスしたのはなぜですか。問題なく[キャンセル]をクリックすると、ウィンドウが閉じます。ただし、コンボボックスをタッチして空白のままにして、[キャンセル]をクリックしようとすると、キャンセルイベントは発生しませんか?

4

4 に答える 4

4

実際に必要なのは

 e.Cancel = False;

FormClosingイベントで。

于 2014-05-22T18:19:13.607 に答える
2

container.AutoValidate=.EnableAllowFocusChangeを使用する必要がありました

于 2012-12-23T21:31:29.270 に答える
0

私は同じ問題を抱えていましたが、それから私はそれを解決しました

  • ボタンのCausesValidationプロパティをFalseに設定します。
  • フォーム上のすべてのコントロールを再設定します。
  • フォームを閉じる。

    while (Controls.Count > 0)
          {
              Controls[0].Dispose();
          }
          this.Close();
    

このコードをButton_Click()イベントとFrom_Closingイベントに追加しました。よろしく、Kshitij Thube

于 2014-02-18T11:06:59.777 に答える
0

ロッドの答えが解決策につながります。フォーム(エラープロバイダーのコンテナー)AutoValidate-propertyがに設定されているEnableAllowFoucsChange場合、ボタンイベントが処理され、Click-Eventで、フォームに無効な子があるかどうかを確認できるようになりました。

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    If Not ValidateChildren() Then Exit Sub
End sub
于 2014-10-03T09:39:43.463 に答える