我在C#中创建了一个小型Win Form应用程序,并将WebBrowser组件添加到其中。我想要实现的是一个小应用程序,可以从一个文件中加载一个本地html页面,其中包含“自定义”协议,当然也可以导航到一个网址。
例如,我的网页上会有以下条目
'<a href="Special://905">Close Company</a></TD></TR>'
会在程序中打开一个任务。
我尝试实现此目的的方式是通过导航事件,如下所示
private void webBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
if ((webBrowser.StatusText.Contains("Special")))
{
//For some reason the stop doesn't do much it still tries to proceed to special:123
//diplaying can not load page..
webBrowser.Stop();
//Launch program here.
MessageBox.Show("Special Command Found");
}
}
问题是它仍然导航并说它无法找到页面。 我用GoBack交换了Stop,由于某些原因我第一次运行它时出现了同样的问题,然后当我在浏览器中向后选择时,它可以从那里开始工作。
我也试过导航并使用GoBack,除了在应用程序中闪烁之后,事件再也不会在第一次之后再次发射。
有没有人有任何想法如何解决这个或我在这里做错了什么?
答案 0 :(得分:1)
而不是使用WebBrowser.Stop(); 只需设置e.cancel = true;