2013-11-16 3 views
1

Каков наилучший способ борьбы с событием со списком? Другими словами, какой лучший обработчик событий используется для случая, когда пользователь делает выбор из поля со списком? Я использую событие с измененным текстом, но оно кажется немного неряшливым. Есть ли способ лучше? Кстати, моя программа, для которой я использую это, - это конвертер единиц, который преобразует длину.Использование комбинированных ящиков в Visual Basic

ответ

2

Событие с измененным текстом срабатывает всякий раз, когда изменяется текст внутри поля со списком. каждый символ, добавленный в combobox, запускает его, что делает его неаккуратным.

Чтобы избежать проблем с производительностью, используйте Lostfocus (который срабатывает, если элемент управления больше не выбран) или SelectedValue/Selectedindex изменили события.

Чтобы ответить на другой вопрос, манипулируйте событием нажатия клавиши.

Перейти к событию нажатия клавиши выпадающего списка, и введите следующее:

 e.handled = true 

это будет отвергать любые входные данные от пользователя.

+0

Также, как я могу сделать комбо-боксы только для чтения? Я не вижу эту опцию в окне свойств. – Zack

+0

Я хотел бы, чтобы в поле со списком содержались только те элементы, которые я заполнил. Я не хочу, чтобы пользователь мог ввести его или нажать Backspace и удалить текст, который в настоящее время находится в поле. – Zack

+0

См. Мое редактирование для вашего решения :) –

Смежные вопросы