草庐IT

c# - 如果 MenuStrip 设置了此快捷方式,则快捷方式 Ctrl+C Ctrl+V 在文本框中不起作用

coder 2024-05-28 原文

目标:带有复制和粘贴功能的菜单条,用户将看到快捷键。

问题:如果您有一个 MenuStrip 并设置了 ShortcutKeys,它们将被菜单“捕获”,但不再被文本框“捕获”。这意味着您不能在文本框中使用 Ctrl+C/V - 只能通过右键单击。如果您删除快捷方式,文本框可以正常工作。

这是为什么呢?如果我不想将条目命名为“Copy______Ctrl+C”,有什么解决方案?

示例项目:http://www.file-upload.net/download-4098087/MenuBlocksSTRG.zip.html

MSDN 已关闭 ATM 我找到了这个链接:

最佳答案

这应该适用于复制,您可以用同样的方式处理粘贴:

    protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    {
        if (keyData == (Keys.Control | Keys.C) && textBox1.ContainsFocus)
        {
            Clipboard.SetText(textBox1.SelectedText);
            return true;
        }
        return base.ProcessCmdKey(ref msg, keyData);
    }

关于c# - 如果 MenuStrip 设置了此快捷方式,则快捷方式 Ctrl+C Ctrl+V 在文本框中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9194931/

有关c# - 如果 MenuStrip 设置了此快捷方式,则快捷方式 Ctrl+C Ctrl+V 在文本框中不起作用的更多相关文章

随机推荐