LinkLabel控制項,它能夠向Windows表單應用程式中添加Web樣式的連結,
使用者可以將LinkLabel中的文本(Text值)的一部分設定為指向網頁的連結。
LinkLabel控制項常用屬性
ActiveLinkColor : 表示單擊連結時的顏色
LinkColor: 表示連結的初始顏色
VisitedLinkColor: 表示連結點擊之後的顏色
DisabledLinkColor: 表示連結被禁止使用時的顏色
LinkArea: 表示顯示為超級連結的文本地區
LinkBehaviour: 表示連結的行為
Dock: 表示連結在容器中的布局
一個使用LinkArea的例子:如果需要把"測試連結效果"中的"連結"兩個字顯示為超級連結
則範例程式碼如下:
linkLabel1.LinkArea = new LinkArea(2, 2);
LinkLabel控制項常用方法
Focus方法: 該方法表示控制項設定輸入焦點。
FindForm方法: 該方法表示檢索控制項所在的表單
LinkClicked事件:當使用者單擊控制項中的連結時,處理LinkClicked事件以執行任務,將Link LabelLinkClickedEventArgs類的執行個體傳遞給LinkClicked事件的處理常式,該執行個體包含與所單擊的連結關聯的 LinkLabel.Link對象。可以使用在LinkLabel.Link類的LinkData屬性中指定的資訊確定單擊了哪個連結或單擊該連結後要執行的任務類型。
如果需要點擊一個連結開啟一個網頁,範例程式碼如下:
view plaincopy to clipboardprint?
private void lbllink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
//調用IE瀏覽器
System.Diagnostics.Process.Start("iexplore.exe", "http://www.google.cn");
//調用系統預設的瀏覽器
System.Diagnostics.Process.Start( "http://www.google.cn");
}
private void lbllink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
//調用IE瀏覽器
System.Diagnostics.Process.Start("iexplore.exe", "http://www.google.cn");
//調用系統預設的瀏覽器
System.Diagnostics.Process.Start( "http://www.google.cn");
}
也可以這樣編寫代碼:
view plaincopy to clipboardprint?
private void lbllink_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
this.lbllink_LinkClicked.Links[0].LinkData = "http://www.sina.com";
System.Diagnostics.Process.Start(e.Link.LinkData.ToString());
}
private void lbllink_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
this.lbllink_LinkClicked.Links[0].LinkData = "http://www.sina.com";
System.Diagnostics.Process.Start(e.Link.LinkData.ToString());
}
在LinkLable控制項中可以添加多個連結,樣本如下:
view plaincopy to clipboardprint?
private void Form1_Load(object sender, EventArgs e)
{
lbllink.Text = "csdn Win 百度 Google YAHOO";
lbllink.Links.Add(0, 4, "http://www.csdn.net/");
lbllink.Links.Add(9, 2, "http://www.baidu.com/");
lbllink.Links.Add(12, 2, "http://www.google.cn/");
lbllink.Links.Add(15, 5, "http://www.yahoo.com.cn/");
}
private void Form1_Load(object sender, EventArgs e)
{
lbllink.Text = "csdn Win 百度 Google YAHOO";
lbllink.Links.Add(0, 4, "http://www.csdn.net/");
lbllink.Links.Add(9, 2, "http://www.baidu.com/");
lbllink.Links.Add(12, 2, "http://www.google.cn/");
lbllink.Links.Add(15, 5, "http://www.yahoo.com.cn/");
}
點擊其中某個連結開啟網頁的代碼如下:
view plaincopy to clipboardprint?
private void lbllink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
lbllink.Links[lbllink.Links.IndexOf(e.Link)].Visited = true;
string targetUrl = e.Link.LinkData as string;
if (string.IsNullOrEmpty(targetUrl))
MessageBox.Show("沒有連結地址!");
else
System.Diagnostics.Process.Start("targetUrl");
}
private void lbllink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
lbllink.Links[lbllink.Links.IndexOf(e.Link)].Visited = true;
string targetUrl = e.Link.LinkData as string;
if (string.IsNullOrEmpty(targetUrl))
MessageBox.Show("沒有連結地址!");
else
System.Diagnostics.Process.Start("targetUrl");
}