|
Программная установка фокуса в поле ввода
| ☑ |
0
travelekb
13.01.15
✎
21:21
|
Доброго вечера.
Столкнулся с необычной проблемой на 8.3.5.1231. Задача вроде бы проста, но не работает.
Требуется при нажатии кнопки передать фокус формы в поле ввода.
Есть следующий код:
(до этого места элемент скрыт)
Элементы.ТрекНомер.Видимость = Истина; //показываем
ЭтаФорма.ТекущийЭлемент = Элементы.ТрекНомер; //передаем фокус
где ТрекНомер - это элемент поле ввода на форме.
Самое интересное, что при двойном последовательном нажатии на кнопку - код срабатывает и фокус передается. Где может быть подвох?
|
|
1
mehfk
13.01.15
✎
21:22
|
Проверь на 8.2
Если будет работать - то очередной косяк 8.3.5
|
|
2
travelekb
13.01.15
✎
21:25
|
(1) работает на 8.2
|
|
3
Злопчинский
13.01.15
✎
21:48
|
А обновить форму если после установки фокуса принудительно?
|
|
4
travelekb
13.01.15
✎
21:55
|
(3) Не помогает.
Главный вопрос в том, что в отладчике при выполнении кода:
ЭтаФорма.ТекущийЭлемент = Элементы.ТрекНомер; //передаем фокус
ТекущийЭлемент не меняется.
Как был ТекущийЭлемент кнопкой, так и остается, а по уму после выполнения кода ТекущийЭлемент должен смениться на поле ввода.
|
|
5
Злопчинский
13.01.15
✎
22:06
|
Я снеговика не знаю
Но сомнительно
Фокус появляется только после перерисовки формы
Может сюда порыть
|
|
6
Управление торговлей
13.01.15
✎
22:08
|
я глюк с установкой фокуса обхожу запуском одноразового демона, в нем ТекущийЭлемент= срабатывает
кто знает, как проще - отпишите
|
|
7
travelekb
13.01.15
✎
22:10
|
(5) если дважды нажать на кнопку, отвечающую за смену фокуса (т.е. по сути дважды выполнить одинаковый код) - все работает как надо.
|
|
8
Злопчинский
13.01.15
✎
22:21
|
(7) продолжайте исследования
|
|
9
kolts23381
14.01.15
✎
00:58
|
У формы есть свойство поведение клавиши ENTER. Должно быть - Переход по элементам формы. У самого была такая хрень потерял где то час чтоб найти.
|
|