разница между LinkLabel.Click и событием LinkLabel.LinkClicked? - PullRequest
3 голосов
/ 12 августа 2011

Согласно http://msdn.microsoft.com/en-us/library/system.windows.forms.linklabel.aspx, класс LinkLabel имеет и событие Click, унаследованное от System.Windows.Forms.Control, и событие LinkClicked.Насколько я понимаю, событие Click вызовет событие LinkClicked.

Почему на земле произошло событие LinkClicked ??Что не так с событием Click?Есть ли другие способы вызвать LinkClicked помимо нажатия?

Ответы [ 2 ]

7 голосов
/ 12 августа 2011

Click будет повышен, если вы щелкнете в любом месте элемента управления.LinkClicked будет повышен, только если вы нажмете на область ссылки.Click будет повышено в обоих случаях (до LinkClicked, если вы нажмете на ссылку).

3 голосов
/ 12 августа 2011

Событие LinkClicked имеет определенный LinkLabelLinkClickedEventArg , который позволяет вам делать больше, чем просто реагировать на событие Click, которое может быть вызвано нажатием пользователем любого элемента управления, а не только части ссылки.

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

    var target = e.Link.LinkData as string;
    System.Diagnostics.Process.Start(target);
}
...