为什么我无法在 DataGridView 中捕获 Ctrl-C

问题描述 投票:0回答:1

已经过去一个小时了。我只想在编辑 DataGridView 时实现复制和粘贴。也许我要求太多了?

这就是我到目前为止所拥有的。初始化:

dataGridView.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(dataGridView_EditingControlShowing);

我猜哪个叫:

    private void dataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
    {
        e.Control.KeyDown += Control_KeyDown;
    }

我们有:

    private void Control_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Modifiers == Keys.Control && e.KeyCode == Keys.C)
        {
            System.Diagnostics.Debug.WriteLine("control c");
        }
    }

我可以捕获控制权。我可以捕获 C。我无法捕获 Ctrl-C。这是不可能的。

c# .net datagridview
1个回答
1
投票

仅当单元格处于编辑模式时才会触发

KeyDown
事件,因此键盘快捷键事件捕获器在其他情况下将不起作用。您可以通过指向
DataGridView
事件处理程序来解决此问题,如下所示:
KeyDown

这篇文章

中有类似的讨论。

© www.soinside.com 2019 - 2024. All rights reserved.