C# winform 中LinkLable控制項的用法

來源:互聯網
上載者:User

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");
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.