拦截键按删除

时间:2012-10-21 16:54:44

标签: c# winforms listview

我的用户组件中有一个列表视图。在listview属性LabelEdit为true。在listview上我有contextmenustrip项目删除快捷键Del。我怎么能抓住按键Del如果编辑一个单元格 - 删除单元格中的文本,如果不可编辑 - 删除列表视图上的项目???

1 个答案:

答案 0 :(得分:5)

您可以通过绑定KeyDown上的KeyUp(或ListView)事件来开始简单:

listView1.KeyDown += listView1_KeyDown;

然后在事件中:

void listView1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Delete)
    {
        // Check if selected item is editable and act accordingly...

        // Bypass the control's default handling; 
        // otherwise, remove to pass the event to the default control handler.
        e.Handled = true;
    }
}