2

假设我将 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");

我最终在我的表单上得到了一个标签,上面写着(并且看起来和行为都像)“单击此处此处”。用户不知道链接的目标是什么,所以当鼠标悬停在其中一个上时,我希望弹出一个工具提示,显示适当的 URL。

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

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

4

1 回答 1

0

遗憾的是,我认为这并不容易,因为虽然 LinkLabel 有一个 LinkClicked 事件,该事件具有一个带有单击链接的事件参数,但没有相应的 LinkMouseHover/Enter 事件,因此无法知道您位于哪个链接上。

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

于 2016-07-01T03:16:32.430 回答