2016-05-09 8 views
2

Было много подобных вопросов, но не удалось решить мою проблему.C# ChromiumWebBrowser: предотвращение управления от кражи фокуса

Я делаю программу, в которой есть форма с ChromiumWebBrowser. Навигация осуществляется автоматически. Когда webbrowser завершит свою задачу, я его уничтожу, создаю новый webbrowser, добавлю его в форму и загружаю новый адрес.

Но, когда новый веб-браузер был создан и добавлен в форму, программа прыгает перед тем, что когда-либо было в программе с фокусом. Пример: я запускаю свою программу, нажимаю кнопку, чтобы запустить ее задачу, открыть блокнот, чтобы набрать текст, а моя программа прыгает перед ним при переходе на новый сайт.

Даже если программа была сведена к минимуму, она не перескакивает шрифтом, но все равно крадет фокус, и никакая программа не имеет фокуса.

Пожалуйста, помогите! Большое спасибо!

+0

Какая версия вы используете? Вы используете 'WinForms' или' WPF'? (просьба указать эту информацию, если вы зададите любой вопрос). Воспроизводится ли проблема с помощью «Минимального примера»? https://github.com/cefsharp/CefSharp.MinimalExample – amaitland

+0

Я использую ChromiumWebBrowser для winforms. –

+0

CefSharp.WinForms.47.0.3 и CefSharp.WinForms.49.0.0 –

ответ

0
  1. Ваш вопрос необходимо установить: this.Topmost = false; И просто установите: this.BringToFront();

  2. Добавить новый браузер в виде так же, как функции, как следующие:

    частный ChromiumWebBrowser AddNewBrowser (FATabStripItem TabStrip, String URL) { если (URL == "") { URL = OpenUrl; txtUrl.Select(); txtUrl.Focus(); } Остальные { tabStrip.Select(); tabStrip.Focus(); }

     ....................... 
         ....................... 
         ....................... 
    
        } 
    

Надежда помочь вам. Благодаря !