我已经研究了与此主题相关的几个问题(Cannot force WebBrowser Control to render using current version of IE,Use latest version of Internet Explorer in the webbrowser control),但我的C#知识太基础了,无法找到我应该在我的代码中放置“修复”的位置。< / p>
我正在使用visual studio 2015并在C#中编写winforms应用程序。该应用程序包含一个显示本地HTML文件的Web浏览器,其中一些使用jquery和javascript。我知道我必须编辑注册表,但我不知道如何安全地进行此操作。第二个链接中提供的代码似乎很好,但我不知道要在其中进行哪些更改,因此它适用于我的项目以及将其放在我的代码中的位置。
我的Form1.cs到目前为止。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Web_Browser
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button4_Click(object sender, EventArgs e)
{
string curDir = Directory.GetCurrentDirectory();
this.webBrowser1.Url = new Uri(String.Format("file:///{0}/post-op/index.html", curDir));
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
}
private void navigateToPage()
{
var filemapping = new Dictionary<string, string>
{
{ "www.xy.com", "file:///{0}/XY/index.html" },
{ "www.post-op.com", "file:///{0}/post-op/index.html" },
{ "www.free-mail.com", "file:///{0}/mail/index.html"},
{ "test", "file:///{0}/index.html" },
};
var textEntered = textBox1.Text;
string filename;
if (filemapping.TryGetValue(textEntered, out filename))
{
string curDir = Directory.GetCurrentDirectory();
var uri = new Uri(String.Format(filename, curDir));
webBrowser1.Navigate(uri);
}
}
private void button3_Click(object sender, EventArgs e)
{
navigateToPage();
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)ConsoleKey.Enter)
{
navigateToPage();
}
}
private void backButton_Click(object sender, EventArgs e)
{
webBrowser1.GoBack();
}
private void forwardButton_Click(object sender, EventArgs e)
{
webBrowser1.GoForward();
}
private void button6_Click(object sender, EventArgs e)
{
string curDir = Directory.GetCurrentDirectory();
this.webBrowser1.Url = new Uri(String.Format("file:///{0}/mail/index.html", curDir));
}
}
}
对不起,如果这看起来很愚蠢。我已经真的试图自己解决这个问题,已经就SO上的几个问题给出了答案,但我有点迷失了。