我用谷歌搜索了它,但结果是空的。最糟糕的是,我知道这是可能的。
无论如何,我正在开发一个应用程序,它使用WebBrowser
控件来显示有关对象的信息(就像 Outlook 对规则和警报对话框所做的那样)。
我的问题是如何单击WebBrowser
Windows 窗体中执行某些功能中的超链接?
例如,假设我有一个这样的链接,当我单击它时,我希望应用程序显示一个特定的表单,就像 Outlook 在您单击超链接时所做的那样People and Distribution List
我用谷歌搜索了它,但结果是空的。最糟糕的是,我知道这是可能的。
无论如何,我正在开发一个应用程序,它使用WebBrowser
控件来显示有关对象的信息(就像 Outlook 对规则和警报对话框所做的那样)。
我的问题是如何单击WebBrowser
Windows 窗体中执行某些功能中的超链接?
例如,假设我有一个这样的链接,当我单击它时,我希望应用程序显示一个特定的表单,就像 Outlook 在您单击超链接时所做的那样People and Distribution List
这看起来很有用:如何:在 DHTML 代码和客户端应用程序代码之间实现双向通信
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 的问题打开一个属性对话框。