Работа с .net Combo Boxes

У меня есть форма, которая имеет Контроль Полем комбинированного списка. Я выбрал выпадающее свойство стиля к DropDown. Я также установил Ширину DropDown на 250. Я установил автоматический полный режим для предложения и автоматический полный источник listitems., он работает абсолютно прекрасный, когда я нажимаю на выпадающее. но когда я ввожу в чем-то, автоматический полный режим активирует выпадающее, которое имеет маленькую ширину.

любая справка ценит. я хочу знать, как увеличить ширину автоматического полного выпадающего с помощью кода так, чтобы элементы списка были просмотрены правильно. Я использую C#

6
задан Allen Rice 10 March 2010 в 17:52
поделиться

3 ответа

Да, это задумано. ComboBox использует функцию SHAutoComplete API для реализации функции автозаполнения. Обратите внимание на объявление, функция принимает дескриптор части текстового поля ComboBox. Таким образом, он понятия не имеет, что на самом деле предоставляет информацию об автозаполнении для ComboBox вместо TextBox. Соответственно, он ничего не может сделать, чтобы компенсировать нестандартную ширину раскрывающегося списка, которую вы используете.

Что ж, это объясняет, почему это не работает. Исправить это технически возможно, но довольно некрасиво. Вам нужно будет запустить код в событии KeyUp и использовать EnumTheadWindows (), чтобы найти дескриптор окна автозаполнения. Затем вы можете использовать SetWindowPos (), чтобы увеличить его. Подобный код уже есть в ComboBox.cs (AutoCompleteDropDownFinder.FindDropDowns), используйте Reference Source или Reflector, чтобы помочь вам понять это правильно. Удачи!

4
ответ дан 17 December 2019 в 04:45
поделиться

Возможно, эта статья, которую я написал на Codeproject может помочь вам в отношении выпадающих списков и способа, которым я взломал это ...

-1
ответ дан 17 December 2019 в 04:45
поделиться

EDIT:
Я удалил свое первое предложение придумать новую ссылку:

На самом деле можно контролировать ширину выпадающего списка Автозаполнение, но это немного сложно и включает в себя широкое использование win API ...

Combobox слишком мал при выполнении Suggest

2
ответ дан 17 December 2019 в 04:45
поделиться