我目前正在製作一個逐行讀取文本文件的「應用程序啓動器」。每一行都是我個人電腦上某個有用程序的路徑。文本文件中的每個路徑(即每行)都會自動創建一個鏈接標籤。將字符串屬性添加到linklabel?
我想的鏈接標籤。文本屬性爲路徑(即僅僅是文件名,而不是整個路徑)的縮寫形式。我已經發現如何以這種方式縮短字符串(到目前爲止這麼好!)
但是,我還想將某個地方的完整路徑存儲 - 因爲這是我的linklabel需要鏈接到的地方。在Javascript中,我幾乎可以將此屬性添加到linklabel中,如下所示:mylinklabel.fullpath = line; (其中行是當前行,因爲我們通過文本文件閱讀,FULLPATH是我想嘗試,並添加到鏈接標籤我的「自定義」屬性。我想這需要申報,但我不知道怎麼樣。
下面是我的代碼的一部分創建的形式,按行讀取文本文件中的行,並創建每行找到了路徑中的鏈接標籤:
private void Form1_Load(object sender, EventArgs e) //on form load
{
//System.Console.WriteLine("hello!");
int counter = 0;
string line;
string filenameNoExtension;
string myfile = @"c:\\users\matt\desktop\file.txt";
//string filenameNoExtension = Path.GetFileNameWithoutExtension(myfile);
// Read the file and display it line by line.
System.IO.StreamReader file = new System.IO.StreamReader(myfile);
while ((line = file.ReadLine()) != null)
{
//MessageBox.Show(line); //check whats on each line
LinkLabel mylinklabel = new LinkLabel();
filenameNoExtension = Path.GetFileNameWithoutExtension(line); //shortens the path to just the file name without extension
mylinklabel.Text = filenameNoExtension;
//string fullpath=line; //doesn't work
//mylinklabel.fullpath=line; //doesn't work
mylinklabel.Text = filenameNoExtension; //displays the shortened path
this.Controls.Add(mylinklabel);
mylinklabel.Location = new Point(0, 30 + counter * 30);
mylinklabel.AutoSize = true;
mylinklabel.VisitedLinkColor = System.Drawing.Color.White;
mylinklabel.LinkColor = System.Drawing.Color.White;
mylinklabel.Click += new System.EventHandler(LinkClick);
counter++;
}
file.Close();
}
所以,我怎麼能存儲一部全路徑作爲LinkLabel的內部串在我的onclick功能以後使用?