2012-12-19 40 views
1

爲什麼當我第一次來到我的窗口時,這是一個用戶控件和組合框設置爲空白的窗體。我可以單擊取消沒有任何問題,並關閉窗口。但是,如果我觸摸組合框,然後將它留空,我嘗試單擊取消取消事件不會觸發?errorprovider不會讓我退出表單直到我清除錯誤

+0

[看看這個答案](http://stackoverflow.com/questions/1995213/disable-validation-of-errorprovider-when-click-cancel-button)。 –

回答

1

我不得不使用container.AutoValidate = .EnableAllowFocusChange

0

我有同樣的問題,但我解決它通過

  • 按鈕的CausesValidation屬性設置爲False。
  • 重新設置表單上的所有控件。
  • 關閉窗體。

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

添加此代碼到Button_Click()事件以及所述事件From_Closing。 問候, Kshitij Thube

2

所有你真正需要的是

e.Cancel = False; 

在你的FormClosing事件。

+0

這爲我做了詭計! – JohnRDOrazio

0

Rod的答案導致瞭解決方案。 如果表格(錯誤提供商的容器)AutoValidate - 屬性設置爲EnableAllowFoucsChange,按鈕事件的處理,並在Click - 活動,現在就可以檢查形式有殘疾兒童:

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click 
    If Not ValidateChildren() Then Exit Sub 
End sub