В VB.NET у меня есть Combobox на форме WinForm. Форма позволяет пользователю вводить запрос для поиска. Когда пользователь нажимает клавишу Enter, к базе данных выполняется запрос, и результаты возвращаются в виде таблицы данных. Затем DataTable привязывается к Combobox, и пользователь может выбрать опцию, которую он ищет.
По большей части это работает отлично. Однако мы обнаружили, что код выполняется несколько раз. Если я напишу свой запрос и нажму клавишу ВВОД ОДИН РАЗ, я могу пройти по коду ДВА или ТРИ раза. Я не хочу отправлять один и тот же запрос в базу данных несколько раз, если мне это не нужно. Любые идеи или предложения, почему код будет выполняться несколько раз?
Вот код, о котором идет речь. Названия 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