LinkLabel.Click和LinkLabel.LinkClicked事件之间的区别?

时间:2011-08-12 11:59:39

标签: c# winforms events linklabel

根据http://msdn.microsoft.com/en-us/library/system.windows.forms.linklabel.aspxLinkLabel类同时包含从Click继承的System.Windows.Forms.Control事件和LinkClicked事件。据我了解,Click事件将触发LinkClicked事件。

为什么地球上会发生LinkClicked事件? Click事件有什么问题?除了点击?

之外还有其他方法可以触发LinkClicked吗?

2 个答案:

答案 0 :(得分:7)

如果单击控件中的任何位置,将引发

Click。只有在您点击链接区域时才会引发LinkClicked。如果您点击链接,则会在Click之前提出LinkClicked

答案 1 :(得分:3)

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);
}