【问题标题】:Key press event and button event conflict按键事件和按钮事件冲突
【发布时间】:2012-08-29 18:34:05
【问题描述】:

我正在使用 Microsoft Visual C# 2010 Express 编写一个窗口窗体应用程序。我正在写一个数独程序。我以前写过这个程序并让它工作。由于硬盘驱动器故障,我丢失了源代码。我在表格上画了一个网格。我让鼠标事件起作用。我得到了按键事件来工作。然后我在表单中添加了几个按钮并让它们工作。但随后出现问题。在我添加按钮并让它们工作后,按键事件停止工作。为什么按钮事件和按键事件会发生冲突?

这是一个有同样问题的演示程序的代码。 '代码' 私人无效doMouseDown(对象发送者,MouseEventArgs e) { 诠释我; 我 = 0; }

    private void DoKeyPress(object sender, KeyPressEventArgs e)\\   This worked until I added
    {
        int i;
        i = 1;
    }

    private void doClickButton(object sender, EventArgs e)   \\   This
    {
        int i;
        i = 2;
    }

‘代码’

鼠标事件和按键事件被添加到表单中。

看起来我需要一种方法来将焦点设置在表单上。在使用按钮之前,程序需要在鼠标和键盘之间来回切换。

【问题讨论】:

  • 请您向我们展示这些事件的代码以帮助您
  • 您将关键事件添加到了什么?表格?您是否确认事件仍然存在并且您没有意外删除它们?
  • 我猜,您添加 KeyPress 事件处理程序的对象不再具有键盘焦点。也许 PreviewKeyDown 会帮助你。

标签: c# winforms


【解决方案1】:

将您的表单KeyPreview 属性设置为 true

this.KeyPreview = true;

【讨论】:

    猜你喜欢
    • 2022-08-15
    • 2012-10-23
    • 1970-01-01
    • 1970-01-01
    • 2019-12-17
    • 1970-01-01
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多