C#ChromiumWebBrowser:防止控制窃取焦点

时间:2016-05-09 13:32:06

标签: c# winforms focus cefsharp chromium-embedded

我正在创建一个包含ChromiumWebBrowser的Form的程序。导航自动完成。当webbrowser完成它的任务时,我将处理它,创建一个新的webbrowser,将其添加到表单,并加载一个新地址。

但是,当新的webbrowser被创建并添加到表单中时,程序会跳转到其他程序位于顶部的焦点之前。示例:我启动程序,按下按钮开始其任务,打开记事本键入一些文本,导航到新站点时我的程序跳到它前面。

即使窗口最小化,它仍会从其他打开的程序中窃取焦点。

如何防止它在创建后被盗?

2 个答案:

答案 0 :(得分:0)

  1. 您的表格需要设置:this.Topmost = false; 并设置:this.BringToFront();

  2. 将新浏览器添加到表单中,就像下面的函数一样:

    $('label').click(function() {
       $('.greyBtn').addClass('glow');
     });
       $('.greyBtn').click(function() {
       $(this).removeClass('glow');
       });
      $('.cancel').click(function() {
       $('.greyBtn').removeClass('glow');
      });
    
  3. 希望对你有所帮助。谢谢!

答案 1 :(得分:0)

尝试禁用浏览器。这将阻止控件接收键盘输入。它不会“灰显”控件-它只是阻止与之交互。

Browser1 = New CefSharp.WinForms.ChromiumWebBrowser(url)
Browser1.Enabled = False