0

我需要显示几行带有格式为链接(即蓝色、下划线等)的 URL 的文本,并在单击时在浏览器中加载适当的站点。

例子:

我强烈推荐的第一个站点是StackOverflow,另一个是ServerFault

我知道我可以使用多个LabelLinkLabel控件,但这是唯一的方法吗?可以通过单个控件来实现吗?

4

2 回答 2

2

您可以为此使用LinkLabel控件:

LinkLabel 控件与 Label 控件类似,不同之处在于它可以显示超链接。可以在控件的文本中指定多个超链接。每个超链接可以在应用程序中执行不同的任务。例如,您可以使用超链接在 Microsoft Internet Explorer 中显示网站或加载与应用程序关联的日志文件。

使用起来有点尴尬,例如 IIRC 链接是使用索引和内容范围定义的,这使得可本地化的文本有点复杂,但它确实做到了。

于 2012-08-01T10:31:06.237 回答
0

适当配置RichTextBox的控件允许实现这一点 - 更改以下属性的默认值:

  • 设置BorderStyleBorderStyle.None,
  • 设置ReadOnlytrue,
  • 设置ScrollBarsRichTextBoxScrollBars.None.

此时控件看起来像一个标签,但是当鼠标IBeam悬停在它上面时光标会变成 ,并且文本框将允许选择文本 - 为避免这种情况,您需要覆盖以下事件:

  • SelectionChanged- 取消选择文本,
  • GotFocus- 将焦点返回给父母,
  • MouseEnter- 将光标改回Cursors.Arrow
于 2012-08-01T10:26:08.303 回答