【问题标题】:C# WebBrowser object not loading UriC# WebBrowser 对象未加载 Uri
【发布时间】:2015-05-24 11:40:18
【问题描述】:

我相信我已经在这里和其他地方进行了足够的研究,足以证明将其作为一个新问题发布是合理的。我的情况与其他人报告的问题相似但不完全相同。

作为概念证明,我正在构建一个应用程序,该应用程序可以访问 Google StreetView 和 StaticMaps API,并在 C# Windows 窗体(目前为 .net 3.5)中显示它们的图像。该表单具有 WebBrowser 对象、用于地址输入的四个文本框(街道、城市、州、邮编)和一个“开始”按钮。

这是我的代码(来自其他著名的帖子/网站,这应该是我所需要的):

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace GoogleMapsTest
{
  public partial class Form1 : Form
  {
    public Form1()
    {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
      webStreetView = new WebBrowser();
      Uri urlString = new Uri("https://maps.googleapis.com/maps/api/streetview?size=300x300&location=" +
         txtStreet.Text.Replace(" ", "+") + "+" +
         txtCity.Text.Replace(" ", "+") + "+" +
         txtState.Text.Replace(" ", "+") + "+" +
         txtZip.Text.Replace(" ", "+"));
      webStreetView.Navigate(urlString);
    }
  }
}

不幸的是,当单击“开始”按钮时,表单看起来像是在进行动作(我可以瞬间看到沙漏),但 WebBrowser 对象仍然是空白的。

这是我为尝试测试所做的:

  1. 将测试 URL 插入到设计对象的 URL 属性中 模式 - 表单与图像一起加载
  2. 将 URI 地址从 调试中的应用程序并在我的浏览器中对其进行测试 - 工作正常
  3. 根据发现的类似问题的建议,我尝试添加对 WebBrowser.Refresh() - 没有骰子
  4. 请注意“webStreetView = new WebBrowser();”这一行根据我的其他评论,作为故障排除尝试。

这可能是我忽略的非常简单的事情。如果有人可以帮助我指出正确的方向并找到我所缺少的,将不胜感激。

【问题讨论】:

  • 你能发布一个你认为应该有效的真实网址(urlString)吗?
  • 是的,就像我说的,我可以在设计模式下预先设置 URL,这完全有效

标签: c# winforms refresh webbrowser-control


【解决方案1】:

好的,我想通了。显然,WebBrowser 对象的默认边距 (7,7,7,7) 是最低限度的(我将它们设置为零以试图只显示没有边框的干净图像)。

对于那些试图为我认真回答这个问题的人,我非常感谢。

对于否决我的问题的人:去钓鱼吧。

【讨论】:

    【解决方案2】:

    不要创建 Web 浏览器的新实例。删除webStreetView = new WebBrowser();,它应该可以工作。

    【讨论】:

    • 是的,对不起,应该提到你正在谈论的代码是另一个调试尝试;没有它也行不通
    猜你喜欢
    • 2011-08-12
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    • 2017-02-02
    • 1970-01-01
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多