当用户输入特定字符串时,将调用事件

时间:2017-01-16 13:36:48

标签: c# html

我正在用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”)。

1 个答案:

答案 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的自动填充数据或下拉列表。