C# 在编辑菜单中删除

C# 在编辑菜单中删除,c#,winforms,C#,Winforms,在一个简单的对话框应用程序中,使用designer,我在编辑菜单中设置了剪切、复制、粘贴和删除的常用快捷键 我的问题是,我只想在某个树控件处于焦点时处理删除事件。否则,在我的datagrid控件中,我希望delete像往常一样工作 最好的方法是什么?目前,我在主窗体类中得到一个delete事件,但是delete键在datagrid控件的编辑控件中不起作用 编辑-指定删除键在编辑子控件中不起作用,如果您只需要一个表单和一个数据网格, 最简单的方法是从菜单项调用的click事件中触发datagrid

在一个简单的对话框应用程序中,使用designer,我在编辑菜单中设置了剪切、复制、粘贴和删除的常用快捷键

我的问题是,我只想在某个树控件处于焦点时处理删除事件。否则,在我的datagrid控件中,我希望delete像往常一样工作

最好的方法是什么?目前,我在主窗体类中得到一个delete事件,但是delete键在datagrid控件的编辑控件中不起作用


编辑-指定删除键在编辑子控件中不起作用,如果您只需要一个表单和一个数据网格,
最简单的方法是从菜单项调用的click事件中触发datagrid delete事件。无论哪一行是当前行(bindingsource)还是选中行(datagrid),您都可以通过编程方式删除。

如果您只需要一个表单和一个datagrid,
最简单的方法是从菜单项调用的click事件中触发datagrid delete事件。无论哪一行是当前行(bindingsource)还是选定行(datagrid),您都可以通过编程方式删除。

如果您想使用菜单项的快捷键,则整个表单中都会使用
组合键,无论您是否将
eventhandler
设置为不执行任何操作,除非某个树控件处于焦点位置(无法将键事件设置为
.Handled=false

因此,最好的方法是不要在菜单条中设置快捷键,而是将
KeyDown
事件挂接到表单(
keypreview
)或特定的树控件上,并处理delete快捷键应该在那里执行的任何操作


如果即使菜单条中没有定义快捷键,也需要显示快捷键文本,请使用菜单项上的
.ShortcutKeyDisplayString
属性设置文本。

如果要使用菜单项的快捷键,则整个表单中都会使用
组合键,无论您是否将
eventhandler
设置为不执行任何操作,除非某个树控件处于焦点位置(无法将键事件设置为
.Handled=false

因此,最好的方法是不要在菜单条中设置快捷键,而是将
KeyDown
事件挂接到表单(
keypreview
)或特定的树控件上,并处理delete快捷键应该在那里执行的任何操作


如果即使菜单条中没有定义快捷键,也需要显示快捷文本,请使用菜单项上的
.shortcutkeydisplaysting
属性设置文本。

啊,我可能不太清楚。在datagrid控件中的编辑窗口中,delete键不起作用。我会修改我的问题。啊,我可能不太清楚。在datagrid控件中的编辑窗口中,delete键不起作用。我将编辑我的问题。这是最好的答案,尽管可能会覆盖窗体或toolstrip的ProcessCmdKey,并指出如果活动控件为edit,则不需要DEL键。这是最好的答案,尽管可能会覆盖窗体或toolstrip的ProcessCmdKey,并指示如果活动控件是编辑控件,则不需要DEL键。