按Enter键以单击LinkLabel

时间:2011-03-03 22:35:05

标签: c# .net winforms

如果我在.net winform上有一个linklabel,无论如何我都可以,当链接标签聚焦时,按下enter键导致LinkLabel {{ 1}}点击?

不幸的是,它似乎没有公开KeyDown事件。


修改

最简单的解决方案是使用PreviewKeyDown,如果Google在这里遇到任何问题。

2 个答案:

答案 0 :(得分:2)

您可以创建自己的链接标签类,该类扩展LinkLabel并覆盖OnKeyUp或OnKeyDown事件以捕获ENTER按键。

这样可以节省您为表单添加的每个链接标签的代码。

e.g。

public class LinkLabelEx : LinkLabel
{

    protected override void OnKeyUp(KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            e.SuppressKeyPress = true;
            e.Handled = true;
            OnLinkClicked(new LinkLabelLinkClickedEventArgs(new Link(0, this.Text.Length)));
        }
        else
        {
            base.OnKeyUp(e);
        }
    }

}

答案 1 :(得分:0)

LinkLabel点击事件后面的逻辑使用函数。然后,您可以使用keyDown事件来调用相同的函数。