powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Поиск строки в ComboBox-е по первым символам
3 сообщений из 28, страница 2 из 2
Поиск строки в ComboBox-е по первым символам
    #32609189
Angello
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя можно просто вовремя подменить свойство DropDownStyle на DropDown и затем опять на DropDownList
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
    Protected Overrides Sub OnKeyPress(ByVal e As KeyPressEventArgs)
        MyBase.DropDownStyle = ComboBoxStyle.DropDown
        MyBase.OnKeyPress(e)
        Dim counter As Integer = MyBase.FindString(q & e.KeyChar, - 1 )
        If counter <> - 1  Then
            MyBase.Text = MyBase.GetItemText(MyBase.Items.Item(counter))
            q &= e.KeyChar
        Else
            q = e.KeyChar
            counter = MyBase.FindString(q, - 1 )
            If counter = - 1  Then
                MyBase.Text = ""
            Else
                MyBase.Text = MyBase.GetItemText(MyBase.Items.Item(counter))
            End If
        End If
        MyBase.DropDownStyle = ComboBoxStyle.DropDownList
    End Sub
Ещё один из вариантов решения проблемы ... По моему самый подходящий. И удовлетворяющий первоначальному условию, но чтобы использовать данный клас не только с DropDownList по хорошему нужно запомнить первоначальное свойство ComboBoxStyle. Примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Public Class cboAutoComplite
    Inherits ComboBox
    Private q As String
    Private ddStyle As ComboBoxStyle

    Protected Overrides Sub OnKeyPress(ByVal e As KeyPressEventArgs)
        ddStyle = MyBase.DropDownStyle
        MyBase.DropDownStyle = ComboBoxStyle.DropDown
        MyBase.OnKeyPress(e)
        Dim counter As Integer = MyBase.FindString(q & e.KeyChar, - 1 )
        If counter <> - 1  Then
            MyBase.Text = MyBase.GetItemText(MyBase.Items.Item(counter))
            q &= e.KeyChar
        Else
            q = e.KeyChar
            counter = MyBase.FindString(q, - 1 )
            If counter = - 1  Then
                MyBase.Text = ""
            Else
                MyBase.Text = MyBase.GetItemText(MyBase.Items.Item(counter))
            End If
        End If
        MyBase.DropDownStyle = ddStyle
    End Sub
End Class
...
Рейтинг: 0 / 0
Поиск строки в ComboBox-е по первым символам
    #32609203
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
классно, мне очень понравилось...
...
Рейтинг: 0 / 0
Поиск строки в ComboBox-е по первым символам
    #32610711
Турист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо за полезную информацию.
...
Рейтинг: 0 / 0
3 сообщений из 28, страница 2 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Поиск строки в ComboBox-е по первым символам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]