C#WebBrowser对象没有加载Uri

时间:2015-03-20 23:02:21

标签: c# winforms refresh webbrowser-control

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

作为概念验证,我正在构建一个可以访问Google StreetView和StaticMaps API的应用,并在C#Windows窗体(暂时为.net 3.5)中显示它们的图像。该表单包含WebBrowser对象,四个用于地址输入的TextBoxes(Street,City,State,Zip)和一个“Go”按钮。

这是我的代码(以及其他信誉良好的帖子/网站,这应该是我所需要的):

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);
    }
  }
}

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

以下是我尝试测试的内容:

  1. 将测试网址插入设计对象的网址属性中 mode - 使用图像加载表单
  2. 将URI地址拉出 调试中的应用程序并在我的浏览器中测试它 - 工作正常
  3. 根据类似问题的建议,我尝试添加一个电话 WebBrowser.Refresh() - 没有骰子
  4. 请注意“webStreetView = new WebBrowser();”行根据我的其他评论进行了故障排除尝试。
  5. 这可能是我忽略的非常简单的事情。如果有人能帮助我指出正确的方向并找到我所缺少的东西,我将不胜感激。

2 个答案:

答案 0 :(得分:1)

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

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

对于投票我的问题的人:去钓鱼。

答案 1 :(得分:0)

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