2014-07-04 68 views
0

我正在對TextBox驗證事件進行數據庫驗證。如果數據無效,我也使用e.Cancel = True。問題是驗證事件被觸發兩次,最終導致SQL也運行兩次,我不希望發生這種情況(因爲有時查詢是資源密集型的)。Winforms RadTextBox控件驗證事件觸發兩次

步驟:

  1. 將&掉落RadTextBox &一個RadLabel到窗體。
  2. 對於RadTextBox驗證事件,請使用下面的代碼。
  3. 運行該應用程序,集中RadTextBox &然後單擊標籤。然後,如果您檢查Visual Studio的輸出窗口,您會注意到控制檯已記錄確認事件實際上被觸發了兩次。 (事件運行兩次,只有當我嘗試點擊RadButton或RadLabel)

我注意到查詢被執行兩次,當我檢查我的SQL Server Profiler中&查詢這個錯誤,這是不必要的。我也檢查與實際wincontrols &這個問題不存在於他們。

如何解決此問題?

下面示例代碼複製行爲

Private Sub RadTextBox1_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles RadTextBox1.Validating 
    Console.WriteLine("VALIDATING EVENT TRIGGERED")   
    e.Cancel = True  
End Sub 

回答

0

這似乎是一個已知的問題RadTextBox:issue link

或許你可以嘗試RadTextBoxControl您的需求?

+0

我將此錯誤記錄到telerik,他們接受它實際上是一個錯誤。 RadTextBoxControl有同樣的問題。 – codeGEN