Выбранное значение индекса в свойстве «Изменение текста» - снижение производительности - PullRequest
0 голосов
/ 03 августа 2011

Я работаю над формой заявления Windows, у меня есть одно текстовое поле и список.Я хочу, если пользователь вводит текстовое поле, тогда будет выбран элемент списка, который работает нормально.Список содержит более 10000 записей.

Требуется время, чтобы выбрать элемент из списка, а записывать данные в текстовое поле.

Вот мой код:

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        If TextBox1.Text.Length > 0 Then
            Dim iSelectedInd As Int32
            iSelectedInd = lstParty.FindString(TextBox1.Text)
            If iSelectedInd >= 1 Then
                lstParty.SetSelected(iSelectedInd, True)
            End If
        End If
End Sub

1 Ответ

0 голосов
/ 03 августа 2011

Если вы включите задержку в одну секунду, он будет искать в списке, только если пользователь перестанет печатать.Создайте Timer с Interval = 1000 и Enabled = False.

Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles TextBox1.TextChanged
    ' Reset the timer.
    Timer1.Enabled = False
    Timer1.Enabled = True
End Sub

Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles Timer1.Tick
    ' Stop the timer.
    Timer1.Enabled = False
    ' Search the list for the text.
    If TextBox1.Text.Length > 0 Then
        Dim iSelectedInd As Int32
        iSelectedInd = lstParty.FindString(TextBox1.Text)
        If iSelectedInd >= 1 Then
            lstParty.SetSelected(iSelectedInd, True)
        End If
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...