2013-01-09 37 views
0

我會看看我是否可以很好地解釋這個問題,以便某人回答或將我送到正確的路徑。原因驗證層次結構與控件中的按鈕

這裏有:

我已經建立了幾個自定義控件;窗體,文本框,複選框等。其中一個控件是一個導航欄,其中包含如下按鈕:頂部,下一個,查找,添加,刪除等。

在我的窗體上是導航欄和其他幾個自定義文本框,複選框,組合框等。這些控件中的每一個在OnValidating方法中都有自定義代碼。

看起來導航按鈕容器的CausesValidation屬性優先於條內按鈕的CausesValidation屬性。

所以我真正想要做的就是關閉容器的CausesValidation,並讓表單上的控件符合CausesValidation屬性針對每個按鈕的值。

當我建立導航欄時,它的基類是UserControl。我已經嘗試了大多數Containers的控件,並且我得到了類似的行爲。

所以我不知道我是否應該選擇不同的方法(比OnValidating除外)每個控制或者有一些其他的方式來獲得驗證在出現錯誤時在button = true

回答

0
容器 CasuesValidation = False,但 CausesValidation

我解決了這個問題。

事實證明CheckboxOnValidating無論是否有焦點都會被解僱。我不知道爲什麼,也找不到任何理由。我刪除了OnValidating方法中的代碼,並將其置於OnClickCheckChanged,這解決了我的問題。

我能那麼CausesValidation屬性爲Navigation Bar回的Container改變false