我需要显示几行文字,其中的网址格式为链接(即蓝色,带下划线等),并在点击时在浏览器中加载适当的网站。
示例:
我强烈推荐的第一个网站是StackOverflow,另一个是ServerFault。
我知道我可以使用多个Label
和LinkLabel
控件,但这是唯一的方法吗?可以通过一个控件来实现吗?
答案 0 :(得分:2)
您可以使用LinkLabel
控件:
LinkLabel控件类似于Label控件,但它可以显示超链接。可以在控件的文本中指定多个超链接。每个超链接都可以在应用程序中执行不同的任务。例如,您可以使用超链接在Microsoft Internet Explorer中显示网站或加载与应用程序关联的日志文件。
使用起来有点尴尬,例如IIRC使用内容的索引和范围来定义链接,这使得它可以使用可本地化的文本变得有点复杂,但它实现了它在锡上所说的内容。
答案 1 :(得分:0)
适当配置的RichTextBox
控件允许实现此目的 - 更改以下属性的默认值:
BorderStyle
设为BorderStyle.None
,ReadOnly
设为true
,ScrollBars
设为RichTextBoxScrollBars.None
。此时控件看起来像一个标签,但是当鼠标悬停在它上面时光标将变为IBeam
,文本框将允许选择文本 - 为避免这种情况,您需要覆盖以下事件:
SelectionChanged
- 取消选择文字,GotFocus
- 将焦点返回到父级,MouseEnter
- 将光标更改回Cursors.Arrow
。