Я работаю с приложением Winforms, которое использует макет MDi.
Target Framework. Net 4.5.2
Протестировано с обоими:
CefSharp 71.0. 2 и 79.1.360.
У меня проблема с порядком активации MDIihild после закрытия активного MDiChild.
Вот примерно то, что я делаю (это показывает активацию окна). A: Указывает, какая форма активирована в данный момент.
Я открываю форму поиска,
A: Searchform 1, I perform a search which opens
A: Searchresultform 1, where I select one of the searchresults which opens
A: Resultform 1
Пока все хорошо, я открываю новую форму поиска
A: Searchform 2, I perform a search which opens
A: Searchresultform 2, where I select one of the searchresults which opens
A: Resultform 2
Пока все еще хорошо, у меня теперь 6 дочерних форм открытый, красиво сложенный друг на друге. Теперь я закрываю верхнюю (Resultform 2), и открывается ожидаемая дочерняя форма (та, которая находится под ним в стеке).
A: Searchresultform 2, I close this one (still no problems)
A: Searchform 2, I close this one and now something weird happens
A: Resultform 1, which is on top of the stack is activated, but immediately
A: Searchform 1, is activated putting itself on top of the stack (oh oh)
Далее я закрываю Searchform 1 и
A: Resultform 1, is activated but immediately
A: Searchresultform 1, is activated and when I close this
A: Resultform 1, is activated (which is the sole remaining window)
В приложении нет кода, который активирует windows.
Следует отметить, что это не работает (работает таким образом), если мы используем «новую» форму Resultform, содержащую встроенный браузер, используя CefSharp . Если мы используем «старую» форму результата, это поведение не происходит.
Меня интересует следующее:
a) Кто-нибудь испытывал подобное поведение и может указать мне общее направление? б) Кто-нибудь есть какие-либо предложения о том, как отладить это?
Я пытался посмотреть на стек вызовов, если я отлаживаю событие OnActivation, но он показывает только внешний код (не помогает мне).
Я не могу привести пример такого поведения, так как это, скорее всего, позволило бы мне разобраться самому (приложение> 100.000 * c).