C# Keypress事件转到DataGridview而不是单元格
我在C# Keypress事件转到DataGridview而不是单元格,c#,winforms,datagridview,C#,Winforms,Datagridview,我在winform中有一个DataGridView,从toolstrip菜单处理删除事件,删除选中的行(以及与DataGridView中的行相关联的对象) 现在,当我尝试编辑任何单元格的值时(重命名对象),在编辑模式下,如果我选择一些字符并按删除,它将删除行,而不是删除那些选定的字符 我应该如何使单元格处理事件而不是Winform 以下片段: this.deleteToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Delete;
winform
中有一个DataGridView
,从toolstrip菜单
处理删除事件,删除选中的行(以及与DataGridView
中的行相关联的对象)
现在,当我尝试编辑任何单元格的值时(重命名对象),在编辑模式下,如果我选择一些字符并按删除,它将删除行,而不是删除那些选定的字符
我应该如何使单元格处理事件而不是Winform
以下片段:
this.deleteToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Delete;
this.deleteToolStripMenuItem.Click += new System.EventHandler(this.OnDelete);
private void OnDelete(object sender, EventArgs e)
{
}
尝试检查DataGridView
SelectionMode
的属性,不得FullRowSelect
找到解决方案:)
当我进入编辑模式时,我会删除删除密钥关联
this.deleteToolStripMenuItem.ShortcutKeys=System.Windows.Forms.Keys.None
在OnAfterEdit中编辑完单元格后,我将其设置回
this.deleteToolStripMenuItem.ShortcutKeys=System.Windows.Forms.Keys.Delete
希望它能帮助别人。您正在使用winform吗?你是如何处理按键事件的,一些相关的代码可以发布。您是否必须在表单上键入未设置为true的预览?您还可以显示按键事件代码吗?该代码中可能还有其他错误block@DJKRAZE我想在这种情况下,它将不会由allI的gridview处理。我的意思是将键入设置为false。很抱歉,我的输入错误太晚了,但我希望这样全行选择。这会有什么影响呢?所以我认为您的SelectionMode=FullRowSelect
是正确的。如果您注意到已选中行标题
。因此,当您要删除单元格的值并且选择了RowHeader
时,第一个命令将读取要删除的单元格值之前的RowHeader
。我希望你明白我的意思。无论如何都可以(RowHeadersVisible=false)[是SeletionMode=FullRowSelect和RowHeadersVisible=false;问题仍然存在。请尝试SeletionMode=RowHeaderSelect,以便在您要删除单元格值时不会删除该行。我理解您的观点,您试图删除单元格值,但您的dataGridView是SelectionMode=FullRowSelect
:D