C #: установка высоты ComboBox - PullRequest
2 голосов
/ 30 марта 2010

Я пытаюсь установить Height из ComboBox в C # .NET CF / WinCE6. До сих пор мне удавалось сделать это с помощью MessageWindow.SendMessage() с CB_SETITEMHEIGHT. Проблема в том, что ComboBox при нажатии нажимает на начальный Height.

Есть ли обходной путь для этого?

LE: Как это повлияет на производительность, учитывая, что ComboBox может хранить 1 тыс. Записей?

Спасибо.

1 Ответ

2 голосов
/ 30 марта 2010

Одна вещь, которую вы могли бы сделать для преодоления сброса высоты поля со списком, - это настроить решение SendMessage на таймер, скажем, каждые 250 мс или что-то в этом роде.

Кстати, вы говорите о DropDownHeight или фактической высоте элемента управления? Если это последнее, вы можете изменить его размер, увеличив размер шрифта. Именно на это указывает размер поля со списком и почему вы теряете это измерение при взаимодействии с ним.

Но ваш план хранения 1К записей в поле со списком на портативном устройстве - это проблема удобства использования. Трудно выбрать вещи из списка в поле со списком, когда есть несколько предметов на выбор. Если вы добавите в список 1 тыс. Элементов, вы будете вынуждены прокручивать пользователя, что очень трудно сделать даже для опытных пользователей Windows из-за размера скроллера, стилуса и странного характера некоторых сенсорных экранов там. Вам следует подумать о процессе фильтрации, при котором вы ограничиваете количество элементов в поле со списком на несколько порядков.

...