C#控件之LinkLable控件使用
1、LinkLabel控件类似于Label控件,但是它能够向Windows窗体应用程序中添加Web样式的链接,用户可以将LinkLabel中的文本(Text值)的一部分设置为指向网页的链接。
Ø LinkLabel控件常用属性,如下表所示:

2、一个使用LinkArea的例子,如果需要把"测试链接效果"中的"链接"两个字显示为超级链接,则示例代码如下所示:
linkLabel1.LinkArea = new LinkArea(0,linkLabel1.Text.Length);
3、Ø LinkLabel控件常用方法,如下所示:

4、LinkClicked事件:当用户单击控件中的链接时,处理LinkClicked事件以执行任务,将Link LabelLinkClickedEventArgs类的实例传递给LinkClicked事件的处理程序,该实例包含与所单击的链接关联的LinkLabel.Link对象。可以使用在LinkLabel.Link类的LinkData属性中指定的信息确定单击了哪个链接或单击该链接后要执行的任务类型。给该控件添加LinkClicked事件,如下所示:

5、一个点击链接打开一个网页,示例代码如下所示:
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
//调用IE浏览器
System.Diagnostics.Process.Start("iexplore.exe", "http://www.baidu.com");
//调用系统默认的浏览器
System.Diagnostics.Process.Start("http://www.baidu.com");
}
或者
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
this.linkLabel1.Links[0].LinkData = "http://www.baidu.com";
System.Diagnostics.Process.Start(e.Link.LinkData.ToString());
}
6、Ø LinkLable控件添加多个链接
在LinkLable控件中可以添加多个链接,示例代码如下所示:
linkLabel1.Text = "csdn Win 百度 谷歌 YAHOO";
linkLabel1.Links.Add(0, 4, "http://www.csdn.net/");
linkLabel1.Links.Add(9, 2, "http://www.baidu.com/");
linkLabel1.Links.Add(12, 2, "http://www.google.cn/");
linkLabel1.Links.Add(15, 5, "http://www.yahoo.com.cn/");
运行截图效果如下所示:

7、点击其中某个链接打开网页的代码如下所示:
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
linkLabel1.Links[linkLabel1.Links.IndexOf(e.Link)].Visited = true;
string targetUrl = e.Link.LinkData as string;
if (string.IsNullOrEmpty(targetUrl))
MessageBox.Show("No Link Address!!!");
else
System.Diagnostics.Process.Start(targetUrl);
}
8、Ø 去掉LinkLabel控件下划线的方法
直接在控件的属性里设置LinkBehavior属性值为HoverUnderline,这样LinkLabel控件下面的字就不会显示了,如下所示:
