Ухх, я провел последние пару часов на этом сейчас. Я обычно заканчиваю тем, что нашел ответ от бит Гуглинга, но не с этим. Немного головной боли.Перехват combobox dropdown
Мои вопросы:
Как я могу поймать, когда пользователь нажимает на стрелку на выпадающий список и предотвратить выпадающий список не отображалась.
Как я могу очистить и заполнить выпадающий список и отобразить его программно?
У меня есть одна программа-агент, удаленно подключенная к серверу через Интернет. Когда вы нажимаете стрелку раскрывающегося списка на агенте, он запрашивает сервер, чтобы определить, что должно быть в раскрывающемся списке. Затем отображается раскрывающийся список. Сопотоки действуют как фильтры для последующих combobox в GUI. Задержка отображения выпадающего списка вполне приемлема при извлечении данных. Первоначально запрос всех возможных записей в раскрывающемся списке не является вариантом, потому что их так много! Нужно быть сопоставимыми по сравнению со списками, так как пользователь может также ввести запись, которой нет в списке.
Надеюсь, это будет разъяснено, что я делаю:
GUI на агенте:
ComboBox1 - отображает страны
ComboBox2 - отображает города - выпадающий список определяется ComboBox1 выбранного пункта
ComboBox3 - отображает города - выпадающий список, определенный ComboBox2, выбранным пунктом
ComboBox4 - отображает улицы - выпадающий список определяется ComboBox3 выбранного элемента
Я изначально прочитал, что думал, да, это слишком просто, я уже пробовал, это не сработает. Но, думая об этом, на самом деле это идеальное решение, о котором я действительно должен был подумать. Иногда все, что нужно - это свежая пара глаз (и кто-то, кто знает, о чем они говорят!) Все работает отлично, спасибо за быстрый и полезный ответ. – Kez
Я бы добавил «ComboBox2.Items.Clear();» перед добавлением Foo и Bar здесь. – MusiGenesis
@MusiGenesis: Вы правы, и у меня есть мой ответ. –