为.NET LinkLabel控件的每个链接区域显示不同的工具提示

时间:2014-01-10 07:48:02

标签: .net tooltip linklabel

假设我将一个LinkLabel控件添加到Windows窗体并在其中定义了两个不同的链接,就像这个C#片段一样:

LinkLabel ll = new LinkLabel();
Controls.Add(ll);
ll.Text = "Click here or here";
ll.Links.Add(6, 4, "http://example.one");
ll.Links.Add(14, 4, "http://example.two");

我最终在表单上标注了一个标签(并且看起来和行为都像)“点击herehere”。用户不知道链接的目标是什么,因此当鼠标悬停在任何一个链接上时,我希望弹出一个工具提示,显示相应的URL。

我正在以编程方式构建一个长文本包装的LinkLabel,所以只需将四个控件放置为“[Label:'Click'] [LinkLabel:'here'] [Label:'或'] [LinkLabel:'here'] “在不同的LinkLabel上独立分配ToolTipText的表单上不是一个好的选择。

实现这一目标的最佳方法是什么?或者,我应该使用LinkLabel以外的其他东西吗?

1 个答案:

答案 0 :(得分:0)

可悲的是,我不认为这很容易,因为虽然LinkLabel有一个LinkClicked事件,该事件与点击的链接有一个事件参数,但是没有相应的LinkMouseHover / Enter事件,所以没有了解你所处的链接的方式。

也许唯一的解决方案是创建许多彼此相邻的LinkLabel,然后在每个LinkLabel上使用MouseHover来了解指向的链接。