Winforms RadTextBox控制两次触发验证事件

时间:2014-07-04 05:50:09

标签: vb.net winforms telerik

我正在对TextBox验证事件进行数据库验证。如果数据无效,我也使用e.Cancel = True。问题是验证事件被触发两次最终导致SQL也运行两次,我不希望这种情况发生(因为有时候查询是资源密集型的)。

步骤:

  1. 拖动&删除RadTextBox&表格的RadLabel。
  2. 对于RadTextBox验证事件,请使用以下代码。
  3. 运行应用程序,关注RadTextBox&然后点击标签。然后,如果您检查visual studio的输出窗口,您会注意到控制台已记录验证事件实际上已被触发两次。 (仅当我尝试单击RadButton或RadLabel时,事件才会运行两次)
  4. 当我在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
    

1 个答案:

答案 0 :(得分:0)

这似乎是RadTextBox的一个已知问题:issue link

也许您可以根据自己的需要尝试RadTextBoxControl