Загрузка экземпляра dotnetbrowser в приложение winform захватывает фокус
У меня есть очень сложное приложение winforms, которое иногда загружает экземпляр компонента DotNetBrowser для рендеринга динамического веб-контента в одном разделе пользовательского интерфейса. Основным механизмом навигации является элемент управления деревом, и когда выбран узел этого дерева и этот узел имеет связанный контент HTML, тогда компонент DNB инициализируется и контент загружается. Когда это происходит, дерево теряет фокус ввода. У меня есть другие компоненты, которые динамически загружаются в то же место таким же образом, и эти компоненты не крадут фокус ввода. Так что, похоже, это относится к компоненту DotNetBrowser.
Я попытался установить Focused = false для базового компонента представления браузера в событии FinishedLoadingFrame, но я подозреваю, что в этот момент уже слишком поздно. Мне нужен компонент DNB для получения фокуса ввода в какой-то момент, когда пользователь нажимает на него, но у меня не может быть его захвата фокуса, когда он создается или после того, как загружен контент. Есть ли способ сделать это?
1 ответ
По умолчанию BrowserView получает фокус после его отображения в макете. Вы можете отключить это поведение с помощью свойства BrowserView.InitialFocusOwner.