我在使用WEC7应用程序中的浏览器控件时遇到了困难。我正在尝试在webBrowser控件中显示一个本地文件,并且所有内容似乎都在工作,除了该页面未显示在我的表单上的控件中。我看到的只是webBrowser控件所在的白色矩形。
我制作了一个独立的测试应用程序,除了将本地文件加载到webBrowser控件之外什么都不做。我在stackoverflow上的其他地方找到了代码,这看起来很清楚。这是加载页面的代码:
private void LoadPageBtn_Click(object sender, EventArgs e)
{
try
{
string applicationDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);
string myFile = Path.Combine(applicationDirectory, @"HTMLPage1.htm");
Uri uri = new Uri(myFile);
webBrowser1.Navigate(uri);
}
catch (Exception ex)
{
Debug.WriteLine("ERROR: " + ex.Message);
}
}
文件 HTMLPage1.htm 非常基本,可以在任何桌面浏览器中显示。如果我在代码中提供了一个虚假文件名,那么我得到一个文件未找到异常,所以我很确定该文件正在目标上正确部署(设置为“始终复制”在文件属性)。
我从webBrowser控件中捕获导航,导航和完成事件并输出一些调试内容,包括来自<的URL强> WebBrowserNavigatingEventArgs 即可。当代码运行时,我得到以下调试输出:
Navigating: file:///Program Files/webtest/HTMLPage1.htm
Complete:
我从未见过Navigated事件,但我不确定这是一个问题。
darn webBrowser控件继续显示一个白色矩形。任何人都可以建议我可能会缺少什么?
我已经在这里发布了代码,万一有人会亲自尝试一下: https://drive.google.com/file/d/0B75fBmfP8FI4YmpvYXFXcGN1Qzg/view?usp=sharing
答案 0 :(得分:0)
好的,我发现了发生了什么。答案实际上是在Toradex支持论坛上找到的。 WebBrowser控件只是IE的一个包装器,因此在您可以在应用程序中使用WebBrowser之前,IE需要包含在操作系统中。
我的操作系统版本不包含网络浏览器组件,因此我正在重建操作系统并包含所有IE7内容。