【问题标题】:Responding to HTML hyperlink clicks in a C# application响应 C# 应用程序中的 HTML 超链接点击
【发布时间】:2009-10-13 11:03:16
【问题描述】:

问题:

如何在 C# 中检测和处理对 Windows.Forms.WebBrowser 控件中超链接的点击?

背景:

我的 C# 应用程序没有集中的帮助文件。相反,构成应用程序的所有部分都可以显示自己的小帮助主题。之所以这样做,是因为该应用程序只是一个框架,而真正使它有用的是数百个小插件。

每个类都可以实现一个在帮助 UI 中注册它的接口。我所有的帮助主题都是 html 字符串(但我并不特别喜欢那个),其中许多是在运行时以编程方式创建的。

问题是这些主题都是孤立的。我非常希望能够包含一个“另见”部分,该部分将打开其他帮助主题。但是如何处理 Windows.Forms.WebBrowser 中的超链接点击?

非常感谢, 大卫

【问题讨论】:

  • 不确定我是否完全理解;如果页面只是控件浏览的html,为什么不使用javascript自己处理实际页面上的点击?

标签: c# html events webbrowser-control hyperlink


【解决方案1】:

如果我理解正确,您想用您自己的表单或 UI 覆盖您的超链接点击。好吧,如果是这种情况,您将代码放在 Web 浏览器的 OnNavigating 事件中,并设置 e.Cancel = true 以便它不会导航您的超链接指定的 URL。

一些sn-p:

private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
    {
        e.Cancel = true;
        SeeAlsoFrm seeAlso = new SeeAlso();
        seeAlso.showDialog();
    }

这是基于我的理解。 :)=)

【讨论】:

  • 这比我预期的要简单得多。谢谢!
猜你喜欢
  • 2019-08-28
  • 2013-06-15
  • 2014-12-09
  • 1970-01-01
  • 2023-01-23
  • 1970-01-01
  • 2021-10-08
  • 1970-01-01
  • 2019-10-28
相关资源
最近更新 更多