Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Keypress事件转到DataGridview而不是单元格_C#_Winforms_Datagridview - Fatal编程技术网

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