Key Down在listView中不起作用

时间:2015-03-27 18:12:35

标签: c# .net winforms

这是我第二天做c#...请不要判断。我已阅读其他帖子,但他们没有帮助。

我有这段代码:

private void listView1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Delete)
    {
        MessageBox.Show("aa");
    }
}

哪个不行。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

问题是您没有告诉ListView实际使用该事件。为此,您必须将方法分配给所需的事件。有两种方法可以做到这一点。选择ListView并打开“属性”选项卡转到事件,然后双击所需的事件。 (Visual Studio会自动为您举办活动)。或者在表单或其他地方的构造函数中,您可以手动分配它。在你的情况下,它看起来像......

listView1.KeyDown += listView1_KeyDown;

请注意,您不必使用类似于visual studio自动生成的名称。只要方法签名与事件匹配,您就可以根据需要为方法命名。如果您有多个列表框并希望使用相同的方法来处理所有列表框,这很好。例如,你可以做类似的事情。

listView2.KeyDown += listView1_KeyDown; 

我建议您阅读c#中事件的工作方式。