2012-06-26 6 views
0

Я конвертирую старую форму VB в .NET и там несколько кнопок, каждая из которых имеет соответствующий ComboBox, скрывающийся за ними. Предыдущее поведение состояло в том, что вы нажимаете кнопку «Button», и это вызывает запуск ComboBox, который затем выпадал бы в списке выбора. Я считаю, что идея состояла в том, чтобы иметь статический цветной и текстовый ярлык (который не может быть выбираемым вариантом в раскрывающемся списке), с функциональностью ComboBox.ComboBox скрыт за кнопкой Не запускается при событии Click

Теперь, в VB.NET, нажав на кнопку (которая находится непосредственно над ComboBox в форме) больше не будет вызывать выпадающий список ComboBox. Однако, если я сделаю ComboBox видимым достаточно, чтобы щелкнуть, он вызовет событие ComboBox.TextChanged и покажет раскрывающийся список (они настроены на стиль DropDownList). Я установил обработчик события для обработки как этого события, так и события Button. Я пробовал Button.MouseDown, Button.MouseClick и Button.Click - никто из них не работал.

Я нашел опцию управления SplitButton suggested here, которая, вероятно, выполнит эту работу, но я не хочу интегрировать не-нативный элемент управления всего за 3 кнопки. Я тоже не хочу mess with the control template, и я не уверен, что это было бы решением.

Почему ComboBox не запускается?

ответ

1

Я не уверен, что именно вы пытаетесь сделать визуально. Но вы можете установить для свойства ComboBox.DroppedDown значение True в событии Click Button, чтобы вызвать DropDown. Что должно выглядеть так.

enter image description here

+0

В принципе, я пытаюсь иметь ComboBox со статическим внешним видом. Ранее это было «поддельным», скрывая ComboBox за кнопкой и вызывая раскрытие при нажатии кнопки. – Wingman4l7

+0

@ Wingman4l7 Я только что добавил изображение, что вы хотите? –

+0

Да, это то, что я ищу; это решение звучит так, как будто оно должно работать, но я тестирую его, и это не похоже. Мне все еще любопытно, почему элемент управления «сзади» другого элемента управления не будет срабатывать, когда в его местоположении появится щелчок. – Wingman4l7

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