这是我第二天做c#...请不要判断。我已阅读其他帖子,但他们没有帮助。
我有这段代码:
private void listView1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Delete)
{
MessageBox.Show("aa");
}
}
哪个不行。
我做错了什么?
答案 0 :(得分:1)
问题是您没有告诉ListView实际使用该事件。为此,您必须将方法分配给所需的事件。有两种方法可以做到这一点。选择ListView并打开“属性”选项卡转到事件,然后双击所需的事件。 (Visual Studio会自动为您举办活动)。或者在表单或其他地方的构造函数中,您可以手动分配它。在你的情况下,它看起来像......
listView1.KeyDown += listView1_KeyDown;
请注意,您不必使用类似于visual studio自动生成的名称。只要方法签名与事件匹配,您就可以根据需要为方法命名。如果您有多个列表框并希望使用相同的方法来处理所有列表框,这很好。例如,你可以做类似的事情。
listView2.KeyDown += listView1_KeyDown;
我建议您阅读c#中事件的工作方式。