【问题标题】:Focusing WebBrowser control in a C# application在 C# 应用程序中聚焦 WebBrowser 控件
【发布时间】:2011-03-15 13:52:40
【问题描述】:

我有一个 WebBrowser 控件托管在 Windows Form 中。该控件用于显示在运行时创建的超链接。这些链接指向一些 HTML 页面和 PDF 文档。

问题是当承载浏览器控件的表单被加载时,焦点就在表单上。当按下 TAB 键时,焦点不会转移到第一个超链接。但是,如果我在控件上单击鼠标然后按 TAB 键,则选项卡焦点现在位于第一个超链接上。我尝试在WebBrowser 控件上使用Select(),然后我调用Focus(),但这并没有解决问题。

关于如何在加载时将标签焦点设置在第一个超链接上的任何想法?谢谢。

干杯, 哈里什

【问题讨论】:

    标签: c# .net


    【解决方案1】:

    我猜这可能是因为焦点是在页面完全加载之前设置的。试试这个:

    private void Go(string url)
    {
        webBrowser1.Navigate(url);
        webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
    }
    
    void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        webBrowser1.Document.Body.Focus();
    }
    

    您还可以通过获取第一个链接的HtmlElement 直接自动选择第一个链接的焦点。

    如果上述方法不起作用,您可能需要检查代码的其他部分,看看是否有其他内容正在捕获焦点。尝试在您的代码中搜索Select、Focus 和ActiveControl。

    【讨论】:

    • 这对当前问题没有帮助:(
    • 如果我可以问,哪一部分没有帮助?选择 WebBrowser 控件并允许用户使用 TAB 键选择链接的示例代码?或者解释你需要使用第一个链接的 HtmlElement 来设置焦点的部分?或者要求检查是否有其他东西正在捕捉焦点的部分?请让我知道哪个部分不清楚。如果需要,我会进一步解释。谢谢。
    • @AshrafBashir,你能解释一下当前的问题是什么,我没有提供帮助吗?
    • 不起作用的问题是选择WebBrowser控件并允许用户使用TAB键选择链接的示例代码
    【解决方案2】:

    在form.Show() 上使用form.ShowDialog(form),然后就可以了!
    其中form 是你的windows 的运行实例Form

    【讨论】:

      【解决方案3】:

      这是我的解决方案

      private void txtAdres_KeyPress(object sender, KeyPressEventArgs e)
      {
          int licznik = 1;
          if (e.KeyChar == (char)13)
          {
              string adres = txtAdres.Text;
              webBrowser1.Navigate(adres);
              licznik = 0;
          }
          if (licznik == 0)
          {
              webBrowser1.Focus();
          }
      }
      

      【讨论】:

        【解决方案4】:

        在正常情况下,将WebBrowser 控件的TabIndex 设置为零 就足够了。这样,当表单加载时,控件将获得焦点,按 TAB 将遍历链接。

        请注意,您还应该更改表单上其他控件的TabIndex。

        如果这不能解决您的问题,您需要添加更多关于托管控件的表单复杂性的详细信息。

        【讨论】:

          猜你喜欢
          • 2021-11-14
          • 2010-11-06
          • 2011-01-20
          • 2018-02-20
          • 2011-07-28
          • 1970-01-01
          • 2012-04-03
          • 2010-12-04
          • 1970-01-01
          相关资源
          最近更新 更多