-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


Проблема с Listbox

Понедельник, 04 Декабря 2017 г. 21:38 + в цитатник
Добрый день,
Суть проблемы такова.
В форме есть свободный Listbox с множественным простым выбором значений из списка.
В случае, если вход и выбор нужных значений в списке осуществляется мышью, то всё работает как положено (выбор нужных значений -> выход из контрола -> AfterUpdate, когда происходит обработка выбранных значений и т.д.)
Если же начать перемещаться по контролам в форме при помощи клавиши 'Tab', то при переходе на этот Listbox происходит вход, список получает фокус и нажатием пробела можно выбрать первый элемент списка, но, если выбран только один этот первый элемент и перемещений по элементам списка (стрелки вверх/вниз) не происходило, то после ещё одного нажатия 'Tab' произойдут выход с потерей фокуса, но событий BeforeUpdate и AfterUpdate не случиться, а ListIndex остаётся равен "-1".
В случае перемещений по списку курсорными клавишами и(или) при выборе более одного значения из списка все события отрабатывают как надо.

Сталкивался с ситуацией, когда при программном выборе значений в свободном Listbox'е выделение происходило, но ListIndex оставался равным "-1". Эту проблему решил при помощи Selected(i)=true -> currCtl.SetFocus -> ListIndex = [n]+1 (по сути имитация ручного ввода).

В этом случае никакие шаманства с SetFocus пока успеха не принесли :(

http://www.sql.ru/forum/1279080/problema-s-listbox


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку