我正在尝试在满足某些条件时动态创建从Windows窗体到我们网站的链接(这是一条警告消息,并在我们的在线手册中提供了更多信息)。
目前我发现在这种情况下使用LinkLabel非常笨拙:必须动态设置LinkClicked处理程序以获得简单的超链接看起来不够优雅。
是否有满足以下要求的包装或替代品?:
答案 0 :(得分:2)
LinkClicked
事件处理程序有什么问题?几乎任何控件都必须执行相同操作才能执行任何有用的操作。
无论如何,实现自己是微不足道的 - 创建一个继承自LinkLabel的类,添加一个字符串URL
属性(如果你想设置,你可能需要一个属性来在设计器属性面板中显示它就这样)并提供一个事件处理程序,用该URL打开浏览器。
然后你可以在设计器中(或在运行时)添加控件,设置URL属性,它将工作,而不必设置事件处理程序。
答案 1 :(得分:1)
您是否使用LinkClicked
事件代替OnClick
?然后你可以在事件处理程序中使用它:
(sender as LinkLabel).LinkVisited = true;
System.Diagnostics.Process.Start("http://example.com");
它没有绑定特定的浏览器 - 在用户的默认浏览器中打开。设置很低 - 只需实例化LinkLabel,将事件连接添加到LinkClicked
(这是一个双行方法)并将其添加到页面。这种方法有什么不实用的地方?
答案 2 :(得分:0)
最后,我使用LinkLabel.Links.Add
动态修改了链接目的地。