如何将label.text转换为linklabel

时间:2013-08-10 05:03:39

标签: c# winforms hyperlink label

我在标签文本中提取一些文件名:

label1.Text += filename+ Environment.NewLine;

我想将这些文件名转换为超链接(这样当我点击该文件名时,文件应该打开)。现在如何为标签提供linklabel属性?

2 个答案:

答案 0 :(得分:0)

试试这个:

label1.Text += "<a href="yourpath/"+ filename+ ">Click THIs</a>"+Environment.NewLine;

答案 1 :(得分:0)

你可以这样做:(但为了让它看起来更好,你应该尝试自定义你自己的链接列表,比如使用Panel)。此代码使用网站地址而不是文件。您可以使用file name替换链接文字,并使用file path链接网址。

Dictionary<string, string> links = new Dictionary<string, string>();
links.Add("Google","http://www.google.com");
links.Add("StackOverflow", "http://www.stackoverflow.com");
links.Add("CodeProject", "http://www.codeproject.com");
int i = 0;
linkLabel1.Text = "";
foreach (KeyValuePair<string, string> link in links)
{
     linkLabel1.Text += link.Key + "\n\n";
     linkLabel1.Links.Add(new LinkLabel.Link(i, link.Key.Length, link.Value));
     i = linkLabel1.Text.Length;
}
//Adding this to your form constructor would be OK
linkLabel1.LinkBehaviour = LinkBehavior.HoverUnderline;    
linkLabel1.LinkClicked += (s,e) => {
   System.Diagnostics.Process.Start(e.Link.LinkData.ToString());
};

enter image description here

相关问题