在 VB.NET 中,我在 WinForm 表单上有一个组合框。该表单允许用户输入要搜索的查询。当用户按 Enter 键时,将对数据库执行查询,并将结果作为 DataTable 返回。然后将 DataTable 绑定到 Combobox,用户可以选择他们正在寻找的选项。
在大多数情况下,这工作得很好。但是,我们发现代码正在执行多次。如果我写出查询并按一次 Enter 键,我可以单步执行代码两次或三次。如果不需要,我不想多次向数据库发送相同的查询。为什么代码会多次执行的任何想法或建议?
这是有问题的代码。Combobox 和 Function 名称已更改以保护无辜者。:)
Private Sub cbx_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles cbx.KeyDown
Me.Cursor = Cursors.IBeam
If e.KeyData = Keys.Enter Then
Me.Cursor = Cursors.WaitCursor
PerformSearch()
Me.Cursor = Cursors.Default
End If
Me.Cursor = Cursors.Default
End Sub