Как получить номер (динамической) ссылки, которая нажата ?
- У меня есть куча ссылок в файле, который я читаю и визуализирую в своем визуальном списке.
Я создал объект LinkLabel. Я также создал файл с true и false для каждой ссылки из моего файла ссылок. Так что это параллельный файл для ссылки один. Пока что я могу читать с моего "visited.txt" файл и обновить мой визуальный список отлично. Я обновляю список вручную. Но я хочу сделать его автоматическим, когда я нажимаю ссылку в своем визуальном списке, чтобы переписать список". visited.txt - файл.
- Я получаю эту проблему уже 3 дня. Ну, я должен был решить и другие неудобства тоже, но это начинает затягиваться, и я хочу, чтобы это было решено. У меня действительно нет (простой) идеи, как действовать, так как все, что я мог придумать, очень сложно. В конце концов, я сделаю это сложным способом, но я думаю, что, может быть, это маленький трюк, который я упускаю, и вы это знаете (держу пари, что это так) >:)
Что я уже пробовал:
private void buttonImport_Click(object sender, EventArgs e) { for (int i = 0; i < link.Length; i++) { LinkLabel linklabel = new LinkLabel(); linklabel.Location = new Point(0, 22 * (i + 1)); panel1.Controls.Add(linklabel); linklabel.LinkClicked += new LinkLabelLinkClickedEventHandler(linklabel_LinkClicked); /* This line, it means that it will read the "visited.txt" file and update in my list whatever is saved in the file. And if i modify the content from file manually, is working fine in code and in my visual list. */ linklabel.LinkVisited = bool.Parse(visited[i]); } } List<string> ListLinksVisited = new List<string>(); void linklabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (e.Link.LinkData.ToString() != "") { Process.Start(e.Link.LinkData.ToString()); e.Link.Visited = true; //show in list that link is clicked /* These links are dynamically created! (as you can see from the code provided) I want to get the number of the link that is pressed. - How to do it? Thank you!*/ } }
OriginalGriff
Форматирование кода полностью цветное: но вам может потребоваться выбрать тип исходного кода, чтобы включить его для вашего кода.
Я отредактировал ваш вопрос, чтобы добавить "lang=cs" к вашим тегам "pre", но вы можете получить то же самое, используя раскрывающийся список "код"и выбрав" C#".
_Q12_
Спасибо!
_Q12_
теперь я вижу свою ошибку. Я полагался на автоматическое форматирование, где он вставляет только \<\pre\gt; без упоминания о cs. Но хотя это поток c#, он должен быть выбран по умолчанию. Но отныне я буду помнить, каков правильный путь. Еще раз спасибо.
BillWoodruff
Используете ли вы способность элемента управления LinkLabel содержать несколько ссылок ?
Это Windows Forms ?
_Q12_
Да, он находится в winform.
Я не использую емкость Linklabel для хранения нескольких ссылок. Просто простое использование.
_Q12_
линклейбл.Связи.Добавить(0, 100, ссылка[i]); -или, может быть, я действительно использую его способность и не осознавал этого :)
BillWoodruff
Без этого он не будет функционировать как "связующее звено" :)