Делаем строку кликабельной в списке внутри вкладки - PullRequest
0 голосов
/ 26 июня 2019

Я работаю над вкладкой. Внутри вкладки есть список, который собирает элементы для отображения (он прикреплен к вкладке). Я пытаюсь сделать файлы, которые добавляются в список, активными, а затем открыть каталог, в котором они находятся.

Я пробовал два разных способа. Я не могу заставить их работать.

Метод первый - создайте ярлык ссылки и присоедините System.Diagnostics.Process.Start ("@" path "); затем добавьте эту ссылку в мой список.

Метод два - просто используйте строку и сделайте строку кликабельной.

Это пример кода для метода, который я изменил на примере 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 ....

У меня может быть другая работа, но предположим, что я должен заставить один из этих способов работать .. Пожалуйста, помогите, спасибо.

1 Ответ

0 голосов
/ 26 июня 2019

Вы не можете делать значения в списке или в строке, кликабельной, кликабельной может быть только элемент управления, который пользователь может видеть на своем экране. Вы должны переосмыслить свой подход: что увидит пользователь, что он нажмет и что вы хотите, чтобы произошло в этот момент.

Также вам вообще не нужны гиперссылки для открытия файлов или папок на локальном компьютере, поэтому, вероятно, LinkLabel - не лучший выбор. Может быть, вам лучше взять что-нибудь более подходящее, например ListBox, чтобы вывести список имен файлов.

...