Я пытался изменить комбинированный список, чтобы рассматривать выбранный элемент как ссылку на другую форму.
Основной рабочий процесс прост; Я хочу, чтобы текст в выпадающем списке функционировал как ссылка, когда не выбирается новый элемент из списка. Эта ссылка откроет новую форму и найдет соответствующую запись. то есть. нажмите на имя клиента, чтобы открыть форму клиента и показать его информацию.
Проблема специфична для выпадающего списка; та же функциональность прекрасно работает для текстового поля. Поместите код в событие Click, форма откроется, перейдет к нужной записи, легко peasy. Я должен быть в состоянии сделать то же самое с помощью комбинированного списка, верно?
Неа. Событие Click в Combobox срабатывает только при выборе нового элемента из списка . Там написано Clicks a control with the left mouse button. Clicking a control with the right or middle mouse button does not trigger this event.
, но при нажатии ничего не происходит.
Хорошо. Давайте установим это как гиперссылку. Это должно запустить событие Click! Нету. Сначала он пытается перейти по ссылке, и поскольку значение является внутренним первичным ключом, он не знает, что с ним делать. Так что это ошибки и никуда не денется.
Теперь мои попытки становятся более эзотерическими. Давайте скроем прямоугольник за выпадающим списком и поместим код в его событие Click! Нету. Не течет к объекту позади. Давайте просто поместим это поверх выпадающего списка! Нету. По-прежнему не запускает событие Click прямоугольника.
Хорошо, избавься от прямоугольника. Давайте попробуем поместить код в событие MouseUp в Combobox. Бинго. Нажатие на текст работает сейчас. Но ... теперь он делает это каждый раз, когда я нажимаю на него. Я не хочу, чтобы он открывал форму, когда пытался выбрать другого клиента.
Я пытался определить, когда раскрывающийся список раскрыт , и не переходить по ссылке, когда она возвращает значение true. Это ... вроде работает. Теперь он не закроет развернутый раскрывающийся список, и вы не сможете его отладить, потому что код обнаружения находится на низком уровне, и при отображении экрана отладки он возвращает false (поскольку раскрывающийся список больше не открыт).
Я пытался установить статическую переменную так, чтобы она переходила по ссылке, только если не выбран новый элемент. Это супер противоречиво, так как нет хорошего способа выяснить, в каком состоянии находится комбинированный список.
Превратить текст в интерактивную ссылку не должно быть так сложно. Как сделать ссылку на выбранный в данный момент элемент в выпадающем списке, но при этом не сделать ссылку на все остальное в выпадающем списке одновременно? Я пропустил событие или что-то?