【发布时间】: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 对象仍然是空白的。
这是我为尝试测试所做的:
- 将测试 URL 插入到设计对象的 URL 属性中 模式 - 表单与图像一起加载
- 将 URI 地址从 调试中的应用程序并在我的浏览器中对其进行测试 - 工作正常
- 根据发现的类似问题的建议,我尝试添加对 WebBrowser.Refresh() - 没有骰子
- 请注意“webStreetView = new WebBrowser();”这一行根据我的其他评论,作为故障排除尝试。
这可能是我忽略的非常简单的事情。如果有人可以帮助我指出正确的方向并找到我所缺少的,将不胜感激。
【问题讨论】:
-
你能发布一个你认为应该有效的真实网址(urlString)吗?
-
是的,就像我说的,我可以在设计模式下预先设置 URL,这完全有效
标签: c# winforms refresh webbrowser-control