Показать сообщение отдельно
Старый 03.03.2011, 15:57   #12  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Сама форма поиска тут не при чём. Суть проблемы кроится в контекстном меню грида, а точнее в опции LinkType Delayed связанного источника данных. Это опция разрешает системе ждать некоторое время перед посылкой запроса на выборку связанных данных. Это сделано для того, что бы увеличить производительность при быстром движении курсора по гриду (система на всякий случай ждёт а вдруг курсор пойдёт дальше, зачем тогда зря выбирать связанные данные). Система выжидает подобный таймаут при активации строки правой кнопкой мыши так же как и при левой. Вот и получается что контекстное меню уже открыто, а выборка данных связанного датасурса ещё не произошла. Только после выбора пункта меню управление возвращается к форме где происходят все нужные действия по отображению связанных данных. И если, например, в событии active связанного источника данных находится код, который изменяет дизайн фрмы, то это вызывает переход фокуса.

Как мне видится, решить проблему можно только если принудительно заставить систему игнорировать опцию Delayed при правом клике. Но как это сделать?
За это сообщение автора поблагодарили: Zabr (7).