-1

当满足某些条件时,我正在尝试动态创建从 Windows 窗体到我们网站的链接(这是一条警告消息,其中包含我们在线手册中的更多信息)。

目前,我发现LinkLabel在这种情况下使用起来非常笨拙:必须为简单的超链接动态设置 LinkClicked 处理程序似乎不优雅。

是否有满足以下要求的包装器或替代品?:

  • 从 System.Windows.Forms.Control 继承(所以我可以在 TableLayoutPanel 中使用它)
  • 具有相当低的设置(例如,没有奇怪的 LinkClicked 功能访问前检查)
  • 未绑定到特定浏览器
4

3 回答 3

2

LinkClicked事件处理程序有什么问题?您必须对几乎所有控件执行相同操作才能执行任何有用的操作。

无论如何,实现自己将是微不足道的 - 创建一个继承自 LinkLabel 的类,添加一个字符串URL属性(如果你想这样设置,你可能需要一个属性来在设计器属性面板中显示它)并提供一个事件使用该 URL 打开浏览器的处理程序。

然后,您只需在设计器中(或在运行时)添加控件,设置 URL 属性,它就可以工作而无需设置事件处理程序。

于 2011-07-01T15:12:24.757 回答
1

您是否使用了LinkClicked事件而不是OnClick?然后你可以在事件处理程序中使用它:

    (sender as LinkLabel).LinkVisited = true;
    System.Diagnostics.Process.Start("http://example.com");

它没有绑定特定的浏览器 - 在用户的默认浏览器中打开。设置很低 - 只需实例化 LinkLabel,添加一个事件连接LinkClicked(这是一种两行方法)并将其添加到页面中。这种方法有什么笨拙的地方?

于 2011-07-01T15:09:31.277 回答
0

最后我用来LinkLabel.Links.Add动态修改链接目的地..

于 2012-06-26T09:48:15.917 回答