我正在用C#构建一个'假的'Web浏览器。它仍然使用Visual Studio中的IE浏览器模块,但与模块中显示的在线网页相反,我将其设计为仅显示本地HTML文件。到目前为止,我有一个“点击”事件,当点击一个按钮时,它会在浏览器模块中显示一个本地HTML文件。
以下是“点击”事件:
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));
}
我计划有一个文本框或组合框(更方便),用户可以输入假的“网址”(如www.post-op.com),然后按回车键。然后程序将读取字符串并找到与输入的字符串对应的本地HTML索引文件(即“file:/// {0} /post-op/index.html”)。
答案 0 :(得分:1)
听起来您可以使用字典来存储关键字和属于该关键字的文件名:
var filemapping = new Dictionary<string, string>
{
{ "pre-op", "file:///{0}/pre-op/index.html" },
{ "post-op", "file:///{0}/post-op/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);
}
字典方法的好处是,您可以提供基于filemapping.Keys
的自动填充数据或下拉列表。