【问题标题】:How to fire an event when shift key is pressed, and on shift key release?按下 shift 键和释放 shift 键时如何触发事件?
【发布时间】:2011-03-12 01:48:59
【问题描述】:

按下 shift 键和释放 shift 键时可以触发事件吗? 有人可以提供如何执行此操作的示例代码吗?

【问题讨论】:

  • 你有试过的代码吗?如果是这样,请粘贴它,我们很乐意帮助您找出它不起作用的原因。

标签: c# .net wpf events keypress


【解决方案1】:
private void Window_KeyDown(object sender, KeyEventArgs e)
{
    if (!e.IsRepeat && (e.Key == Key.LeftShift || e.Key == Key.RightShift))
    {
        Trace.WriteLine("Down Shift " + DateTime.Now);
    }
}

private void Window_KeyUp(object sender, KeyEventArgs e)
{
    if (e.Key == Key.LeftShift || e.Key == Key.RightShift)
    {
        Trace.WriteLine("Up Shift " + DateTime.Now);
    }
}

【讨论】:

    【解决方案2】:

    为此,您必须首先决定激活哪个控件,并且必须在该控件上生成 Key_press 事件。

    在 key_press 事件中,您必须检查按下了哪个键,即您需要换档。因此,您需要编写有关是否按下 shift 键然后执行您想要执行的功能的代码。

    所以这就是你可以完成的方式。

    希望对你有帮助。

    http://www.java2s.com/Code/CSharp/Event/Shiftkeypressed.htm

    【讨论】:

    • WPF 的事件与 WinForms 完全不同。
    【解决方案3】:

    约翰,看看my solution for the Enter Key。如果您想要为某个特定控件执行此操作,您当然也可以将其应用于 shift 键。否则,请提供更多信息以缩小解决方案的范围。

    【讨论】:

    • 您的链接转到此页面。您是否试图导致递归堆栈溢出on StackOverflow? :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多