Я совершенно новичок в Visual C #. Хотя я могу управлять консольными приложениями, я легко теряюсь, когда дело касается форм кодирования.
В настоящее время я делаю "панель запуска приложений", которая читает текстовый файл построчно. Каждая строка - это путь к полезной программе где-то еще на моем компьютере. Метка ссылки автоматически создается для каждого пути (то есть каждой строки) в текстовом файле.
Мне бы хотелось, чтобы свойство .Text метки ссылки представляло собой сокращенную форму пути (т. Е. Только имя файла, а не весь путь). Я узнал, как таким образом укоротить строку (пока все хорошо!)
Однако я также хотел бы где-то хранить полный путь - так как это то, на что мой 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\jim\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();
}
Итак, как я могу сохранить полный путь в виде строки внутри метки ссылки для использования в моей функции onclick позже?
Большое спасибо заранее
Jim