我正在处理一个标签页。在选项卡页面中,有一个列表,用于收集要显示的项目(它附在选项卡页面上)。我试图使添加到列表中的文件可点击,然后打开它们所在的目录。
我尝试了两种不同的方法。我不能让他们工作。
方法一-创建一个链接标签,并附加System.Diagnostics.Process.Start(“ @” path“); 然后将该链接标签添加到我的列表中。
方法二-简单地使用字符串并使字符串可点击。
这是方法1的示例代码,我使用Microsoft示例对其进行了修改,以演示我的需要- 这样做的问题不仅在于它不起作用,而且仅将一项设置为可点击。
public Form1()
{
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
this.linkLabel1.Text = "Open folder";
//Assume the list called ItemList is declared properly above
//ItemList is attached to the tab page and whatever in it will be displayed item by item in seperated line.
//I need to make them clickable.
ItemList.Add(linkLabel1);
}
private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
// Navigate to a URL.
System.Diagnostics.Process.Start("@"path");
}
方法二-
string item1 = "file.txt";
fullPath = Path.GetFullPath(item1);
string Link = String.Format("<a href=\"{0}\">Click here</a>", fullPath);
ItemList.Add(Link);
方法二的问题是它仅显示整个链接,以href开头。...
我可能还有其他解决方法,但假设我必须采用以下一种方法来工作。 请帮忙,谢谢。
答案 0 :(得分:0)
您不能使列表中的值或可点击的字符串成为可能,只能被用户在屏幕上看到的可点击控件。您必须重新考虑您的方法:用户将会看到什么,他会点击什么以及您当时想要做什么。
此外,您根本不需要超链接即可在本地计算机上打开文件或文件夹,因此LinkLabel可能不是最佳选择。也许您最好选择一些更合适的东西,例如ListBox来列出您的文件名。