c# - 为什么不使用KeyDown CTRL + KEY?

原文 标签 c# winforms

在以下代码中,对Zoom(0.1f);Zoom(-0.1f);的两个调用有效,但是我无法触发CTRL + Z和CTRL + Y的两个UndoRedoManager.Undo();UndoRedoManager.Redo();调用。我究竟做错了什么?

public void WorkspaceKeyDown(KeyEventArgs e)
{
    if (e.Control == true)
        isCtrlPres = true;
    if (e.Shift == true)
        isShiftPres = true;
    if (e.Control == true && e.KeyCode == Keys.Z)
    {
        UndoRedoManager.Undo();
    }
    else if (e.Control == true && e.KeyCode == Keys.Y)
    {
        UndoRedoManager.Redo();
    }
    else if (e.Control == true && e.KeyCode == Keys.Oemplus)
    {
        Zoom(0.1f);
    }
    else if (e.Control == true && e.KeyCode == Keys.OemMinus)
    {
        Zoom(-0.1f);
    }

最佳答案

.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Z)));

关于c# - 为什么不使用KeyDown CTRL + KEY?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6101549/

相关文章:

泛型类中的 c# 方法仅适用于某些类型

c# - 连接字符串中缺少MultipleActiveResultSets导致错误

c# - 解析 HTML 节点的正则表达式匹配失败

c# - 为什么我的 Winforms 托管的 WCF 服务是单线程的?

c# - 在 winforms 中取消工作线程

c# - C#添加一个虚拟打印机,打开一个WPF程序?

c# - 如何创建一个自定义窗体,其代码位于Sharepoint 2010(C#)中的列表后面

c# - 在弹出窗口中使用WinFormElementHost

c# - 使用Windows窗体创建Revit插件

c# - .NET 4 WebBrowser 挂起