C# winform 中LinkLable控件的用法

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 百度 谷歌 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 百度 谷歌 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");
}

原文地址:https://www.cnblogs.com/weixing/p/2196144.html