【问题标题】:Why do all pages open in the default browser instead of inside the form?为什么所有页面都在默认浏览器中打开,而不是在表单中?
【发布时间】:2014-06-23 10:18:26
【问题描述】:

我期望会发生什么

网页在表单内打开。

真正发生的事情

网页在默认浏览器(在本例中为 Chrome)中打开。

代码

Navigate(string) sn-p 直接从MSDN 复制而来。

  using System;
  using System.Windows.Forms;

  namespace BrowserFrame
  {
      public partial class BrowserForm: Form
      {
          public BrowserForm()
          {
              InitializeComponent();
              Navigate("http://www.stackoverflow.com");
          }

          private void Navigate(String address)
          {
              if (String.IsNullOrEmpty(address)) return;
              if (address.Equals("about:blank")) return;
              if (!address.StartsWith("http://") &&
                  !address.StartsWith("https://"))
              {
                  address = "http://" + address;
              }
              try
              {
                  webBrowser1.Navigate(new Uri(address));
              }
              catch (System.UriFormatException)
              {
                  return;
              }
          }
      }
  }

到目前为止我做了什么

  • 更改默认浏览器(例如 IE、Firefox)会在默认浏览器中打开页面。
  • 直接使用webBrowser1.Navigate(new Uri("http://www.stackoverflow.com")); 做同样的事情。
  • 尝试从其他事件(例如 OnLoad、MouseClick)调用 Navigate;结果相同。

更新

【问题讨论】:

  • 我已经尝试过您的代码,它可以正常工作。你的问题到底是什么?您的意思是该页面是在您计算机上的浏览器中打开的,而不是在表单的 webBrowser 控件中打开的?
  • 尝试从其他地方调用 Navigate 方法,而不是从构造函数。从 OnLoad 事件处理程序调用它
  • @Lev 在“到目前为止我做了什么”中添加了您的建议,但仍然不起作用。我认为我的操作系统设置有问题。 (待办事项:在另一台计算机上尝试。)
  • 但是发生了什么?该页面是在计算机的浏览器中打开的,而不是在 webBrowser 控件中?
  • @Lev 是的。我问了this question on superuser,因为我发现所有基于 Web 的控件都会受到影响,而不仅仅是 WinForms。

标签: c# .net winforms windows-xp webbrowser-control


【解决方案1】:

我不明白为什么它会在外部浏览器中打开,因为它不会发生在我身上,但你可以试试这个,看看它是否有什么不同。

你试过了吗:

webBrowser1.Navigate(address); 不使用 Uri?

它对我来说很好,它不需要http://https://

我猜他们在字符串的类构造函数中自动化了。

或者您可以尝试更改为这个简单的版本:

public BrowserForm()
{
     InitializeComponent();
     webBrowser1.Navigate("http://www.stackoverflow.com");
}

只是看看它是否有帮助。

【讨论】:

    猜你喜欢
    • 2014-05-22
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多