|
ComboBox + поиск
|
|||
---|---|---|---|
#18+
Доброго времени суток! Есть ComboBox достаточно длинный, не удобно его весь листать в поисках нужной записи, хотелось бы, чтобы при получении им фокуса и вводе данных с клавиатуры он сам начинал искать с начала последовательность вводимых букв. Как это реализовать? Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2009, 13:57 |
|
ComboBox + поиск
|
|||
---|---|---|---|
#18+
Только создав свой контрол Combobox ты сможешь сделать что-то, а стандартный Combo ни хрена не делает, он очень скромный. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2009, 14:13 |
|
ComboBox + поиск
|
|||
---|---|---|---|
#18+
Не фига не скромный. У стандартного комбобокса есть режим при котором он осуществляет поиск по первым вводимым буквам. MSDN в руки. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2009, 14:38 |
|
ComboBox + поиск
|
|||
---|---|---|---|
#18+
FAndrew, Ну попробуй, по одной вводимой еще как-то прет а дальше уже ... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2009, 14:48 |
|
ComboBox + поиск
|
|||
---|---|---|---|
#18+
Быстрый поиск строки в Combo Box Для быстрого поиска нужной строки в списке, в частности в элементе управления Combo Box, можно использовать функцию API SendMessage() (вариант для 16-разрядных приложений), обеспечивающую более эффективное выполнение программы, чем аналогичный код на VB. Для этого можно, например, прибегнуть к процедуре CBFindString: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Создание "автоматического" поля текста С помощью приведенной здесь программы вы можете создать поле текста (TextBox), аналогичное тем, которые реализованы в последних версиях Microsoft Excel или Internet Explorer. Иными словами, каждый раз, когда вы будете вводить какой-либо текст в это поле, первые буквы строки будут сравниваться с элементами невидимого списка, а затем программа сама определит, как следует дописать данную строку, и сделает это за вас. Для реализации такого поля текста вначале добавьте окно списка к своей форме и установите его свойство Visible как False. В событии Form_Load заполним это окно списка некоторыми элементами. В реальном приложении добавление новых элементов списка следует осуществлять каждый раз, когда пользователь закончит ввод строки. Поместите на форму элемент управления TextBox и введите следующий код: Код: 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. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2009, 15:13 |
|
ComboBox + поиск
|
|||
---|---|---|---|
#18+
Решил не создавать новую тему, так название одно и тоже. Задача у меня такая: Есть combobox, элементами списка которого служит список слов на листе Excel. Но список более 500 слов и листать его весь очень неудобно. Поэтому возникла мысль добавить в combobox поиск: Пользователь набирает часть слова и в выпадающем списке видит все слова, которые содержат введенный им с клавиатуры набор символов. При выборе соответствующего слова данное слово записывается в соответствующую ячейку. В идеале, чтобы комбо-бокс открывался только в каждой 7-й строке первого столбца (там значение для выбора) Я не программер и с VBA знаком всего 1.5 месяца, поэтому не совсем понимаю как это можно сделать. У меня получилось что-то типа этого, но работает совсем не так как нужно: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Модератор: Учимся использовать тэги оформления кода - FAQ , а не вручную код раскрашивать Проблемы которые вылезли: 1. При вводе части текста для поиска автоматически подставляется предлагаемый вариант в текстовое поле комбо-бокса. Мне этого не нужно. 2. Выпадающий список иногда показывается как одно значение и полоса прокрутки. Нужно чтобы выпадающий список был не более 10 значений, а если более появлялся бы скролл. 3. Поиск работает криво. Подскажите где у меня недоработки? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2013, 16:38 |
|
|
start [/forum/topic.php?fid=60&tid=2157205]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 288ms |
total: | 420ms |
0 / 0 |