Страницы: 1
RSS
Можно ли сделать так, чтобы нажатие клавиши Вниз не приводило на Userform к переходу с одного элемента на другой?, Но нужно оставить возможность перехода с Tab и выбор из Combobox с Alt+Вниз
 
Добрый день.
Есть Userform, на нём Combobox'ы, Кнопки, ...
Передвигаюсь между ними клавишей Tab, чтобы выбрать из списка нажимаю Alt+Вниз, иногда при быстром набирании Вниз нажимается до нажатия Alt и фокус переходит ниже к другому элементу, что неудобно.

Можно ли сделать так, чтобы нажатие Вниз не приводило к переходу с одного элемента на другой?
При этом нужно оставить возможность перехода с Tab и выбор из Combobox с Alt+Вниз.
 
Бахтиёр, приветствую!
Мне только события элементов типа такого приходят в голову
а вообще по формам мне часто Alemox сильно помогает  :idea:
Изменено: Jack Famous - 30.09.2021 09:15:40
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Работает немного не так:
Открываю Userform
На Combobox'ах нажимаю Вниз --> Отлично, не переходит на нижний элемент.

Но допустим, с Alt+Вниз выбрал в Combobox что-то, Tab'ом  перешёл на следующие элементы, и в какой-то момент пришлось вернуться к Combobox'у (с Shift+Tab).
И если нажать Вниз на Combobox'е (на котором уже один раз нажималось Alt+Вниз) --> опять переходит на нижний элемент.

Как будто нажатие Alt+Вниз перечёркивает "ранее установленный запрет" на переход вниз по клавише Вниз.
 
Файл пример можно?
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Alemox, прикрепил.
В файле (пример.xlsm) Combobox'ы пустые и действия на нажатия клавиш именно такие, как я описал выше.

Сейчас я попробовал заполнить Combobox'ы списками значений ---> Тогда нажатие Вниз приводит к тому, что из списка выбирается 1-элемент, ещё раз нажать --> выбирается следующий элемент и так далее. После последнего элемента списка нажатие Вниз приводит к переходу на следующий Combobox. Этот файл я тоже прикрепил (пример с заполненным списком.xlsm)
Изменено: Бахтиёр - 30.09.2021 18:25:18
 
Бахтиёр, что-то не получается у меня каменная чаша. Одно на другое накладывается и какие-то костыли. Идеальную работу не могу пока сделать. Не хватает свойств (или мозгов). Или придётся городить код большой, что будет неудобно.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Alemox, в любом случае спасибо Вам.  
 
Очень похоже, что нужно писать свой обработчик событий "вредных" кнопок. комбиков много то через классы будет компактнее.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ:  похоже, что нужно писать свой ... . комбиков много то...
Понятно, спасибо.
 
Бахтиёр, что Вы подразумеваете под
Цитата
Бахтиёр написал #1:
нажатие Вниз не приводило к переходу с одного элемента на другой?
на другой элемент формы, например следующий комбобокс ?
(в заголовке топика: "чтобы нажатие клавиши Вниз не приводило на Userform к переходу с одного элемента на другой");
или на следующий элемент списка активного комбо ?  
 
Цитата
С.М.:  что Вы подразумеваете под
Цитата
С.М.:  следующий комбобокс ?
Да, хотелка в том, чтобы нажатие Вниз не приводило к переходу на следующий Combobox.
Но, при этом, возможность открытия списка Combobox по нажатию Alt+Вниз нужно оставить.
 
Так ?
 
С.М., да, так, а как вы это сделали?
 
Комбобоксы "опираются" на "костыли" - Label'и с Caption = "" (на форме не видны).
Изменено: С.М. - 04.10.2021 14:47:18 (букву заменил)
 
С.М., спасибо, я вроде понял.
Я думал у меня со всеми Combobox'ами такая проблема. Я ошибался (между ними у меня и так были Label'ы и  сними и так всё нормально).
Оказывается, проблема была в той части формы, где между 2-мя Combobox'ами не было Label'ов, а был Frame (внутри него уже другие элементы).
Я поставил между Combobox'ом и Frame'ом Label и пробема решилась.

Спасибо всем.
Изменено: Бахтиёр - 04.10.2021 15:07:23
 
:)
https://www.youtube.com/watch?v=S5xS__0cAV4
 
С.М., :-) :-)
 
С.М., А что изменилось кроме перехода? Как изменяются значения при нажатии стрелки вниз так и изменяются при нераскрытом комбобоксе.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Цитата
Alemox:  А что изменилось кроме перехода? ... при нажатии стрелки вниз так и изменяются при нераскрытом комбобоксе.
Да, при нажатии Вниз значение меняется при нераскрытом Комбобокс.
Мне мешало, то что он переходит на следующий комбобокс, а это в принципе не мешает.
 
И меня эта "фишка" Мелкомягких - самоперескакивание - раздражала.
Помнится, шёл даже на извращение - замену комбобокса на "всплывающий" ListBox + TextBox
Изменено: С.М. - 05.10.2021 11:56:10
Страницы: 1
Наверх