C# WebBrowser 对象不加载 Uri
C# WebBrowser object not loading Uri
我相信我已经在这里和其他地方进行了足够的研究,足以证明将其作为一个新问题发布是合理的。我的情况与其他人报告的问题相似但不完全相同。
作为概念证明,我正在构建一个应用程序,它可以访问 Google StreetView 和 StaticMaps API,并以 C# Windows 形式显示它们的图像 (.net 3.5暂时)。该表单具有 WebBrowser 对象、四个用于地址输入的文本框(街道、城市、州、邮政编码)和一个 "Go" 按钮。
这是我的代码(以及来自其他知名 posts/sites 的代码):
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 对象仍然是空白的。
这是我尝试测试的内容:
- 将测试 URL 插入设计中对象的 URL 属性
模式 - 表单加载图像
- 从
调试中的应用程序并在我的浏览器中对其进行了测试 - 工作正常
- 根据针对类似问题找到的建议,我尝试添加对
WebBrowser.Refresh() - 没有骰子
- 请注意,根据我的其他评论,第 "webStreetView = new WebBrowser();" 行是作为故障排除尝试放入的。
这可能是我忽略的非常简单的事情。如果有人可以帮助我指出正确的方向并找到我所缺少的东西,将不胜感激。
不要创建网络浏览器的新实例。删除webStreetView = new WebBrowser();
它应该可以工作。
好的,我明白了。显然,WebBrowser 对象的默认边距 (7,7,7,7) 是最低限度的(我将它们设置为零,试图只显示没有边框的干净图像)。
对于那些试图认真回答我这个问题的人,我非常感谢。
致对我的问题投反对票的人:去钓鱼吧。
我相信我已经在这里和其他地方进行了足够的研究,足以证明将其作为一个新问题发布是合理的。我的情况与其他人报告的问题相似但不完全相同。
作为概念证明,我正在构建一个应用程序,它可以访问 Google StreetView 和 StaticMaps API,并以 C# Windows 形式显示它们的图像 (.net 3.5暂时)。该表单具有 WebBrowser 对象、四个用于地址输入的文本框(街道、城市、州、邮政编码)和一个 "Go" 按钮。
这是我的代码(以及来自其他知名 posts/sites 的代码):
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 对象仍然是空白的。
这是我尝试测试的内容:
- 将测试 URL 插入设计中对象的 URL 属性 模式 - 表单加载图像
- 从 调试中的应用程序并在我的浏览器中对其进行了测试 - 工作正常
- 根据针对类似问题找到的建议,我尝试添加对 WebBrowser.Refresh() - 没有骰子
- 请注意,根据我的其他评论,第 "webStreetView = new WebBrowser();" 行是作为故障排除尝试放入的。
这可能是我忽略的非常简单的事情。如果有人可以帮助我指出正确的方向并找到我所缺少的东西,将不胜感激。
不要创建网络浏览器的新实例。删除webStreetView = new WebBrowser();
它应该可以工作。
好的,我明白了。显然,WebBrowser 对象的默认边距 (7,7,7,7) 是最低限度的(我将它们设置为零,试图只显示没有边框的干净图像)。
对于那些试图认真回答我这个问题的人,我非常感谢。
致对我的问题投反对票的人:去钓鱼吧。