我用谷歌搜索了它,但是空出来了。最糟糕的是,我知道这是可能的。
无论如何,我正在开发一个使用WebBrowser
控件来显示有关对象信息的应用程序(就像Outlook使用“规则和警报”对话框一样)。
我的问题是如何点击WebBrowser
中的超链接,执行Windows窗体中的某些功能?
例如,假设我有一个类似this的链接,当我点击它时,我希望应用程序显示一个特定的表单,就像Outlook点击People and Distribution List
答案 0 :(得分:9)
答案 1 :(得分:8)
ChrisW的回答是有效的,但如果您只是依赖超链接,还有另一种方法。
在Comicster中,我的WebBrowser控件中有链接,如下所示:
<a href="action:FileNew">New Collection</a>
然后在WebBrowser的Navigating事件中,我有一些代码来检查用户是否尝试导航到“action:”链接,并拦截它:
private void webBrowser1_Navigating(object sender,
WebBrowserNavigatingEventArgs e)
{
if (e.Url.Scheme == "action")
{
e.Cancel = true;
string actionName = e.Url.LocalPath;
// do stuff when actionName == "FileNew" etc
}
}
使用一点代码,您甚至可以解析URL参数并将其“传递”到主机应用程序的操作中,这样我就可以执行以下操作:
<a href="action:EditIssue?ID=1">Edit this issue</a>
...将打开ID为1的问题的属性对话框。