Можно ли сменить ссылку без изменения названия? бывший:

linllabeltext.link = "http://mylink.com/";

Не работает

И это изменит имя

linklabeltext.test = "http://mylink.com/"

Изменить тест

Я добавил эту функцию при нажатии

Process.Start(linklabetext.text);

Как?

full code:

private void (......)
{
.....
var name = result.name;
.......
labelLink1.text = name;
}

private void labelLink1_click....
{
Process.Start(labelLink1.text);
}

Но этот код меняет имя labelLink1 в ссылке es: http://mysate.com, но имя labelLink - Visit сайт

-4
jolly 28 Авг 2011 в 22:08

2 ответа

Лучший ответ

Взгляните на примеры в MSDN . В частности, где они создают LinkLabel и устанавливают для него ссылку (и) и текст:

this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.linkLabel1.Text = "Register Online.  Visit Microsoft.  Visit MSN.";
if(this.linkLabel1.Text.Length >= 45)
{
    this.linkLabel1.Links[0].LinkData = "Register";
    this.linkLabel1.Links.Add(24, 9, "www.microsoft.com");
    this.linkLabel1.Links.Add(42, 3, "www.msn.com");
    //  The second link is disabled and will appear as red.
    this.linkLabel1.Links[1].Enabled = false;
}

Я никогда раньше не использовал этот элемент управления, но похоже, что вы устанавливаете .Text на любую строку, а затем устанавливаете «ссылки», чтобы они соответствовали подстрокам в свойстве .Text.

Изменить : я только что заметил, что вы также используете неправильное событие для перехода по ссылке. Вы не хотите привязываться к событию Click элемента управления LinkLabel. У него есть событие LinkClicked, которое помещает в событие больше информации о нажатой ссылке. Взгляните, конечно, на примеры MSDN.:

private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
    // Specify that the link was visited.
    this.linkLabel1.LinkVisited = true;

    // Navigate to a URL.
    System.Diagnostics.Process.Start("http://www.microsoft.com");
}
2
David 28 Авг 2011 в 18:45

Не знаю, поможет это или нет, так как я не совсем уверен, что вам нужно, но вот быстрый пример использования LinkLabel. Введите любой действительный URL-адрес в текстовое поле, щелкните ссылку под ним, и URL-адрес будет открыт при вызове Process.Start (). Текст LinkLabel не изменится, независимо от того, какой URL вы вводите. (Я думаю , что это именно то, что вам нужно.)

enter image description here

1
Nick Spreitzer 28 Авг 2011 в 18:52