0

无论如何,我都在努力做到这一点,当我按下 Space 时,会执行某个代码块(确切地说是 cmd_play)。

但是,如果您使用 Form Keypress 执行此操作,它似乎只能工作一次:

private void frmmain_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == Convert.ToChar(Keys.Space))
                cmdPlay_Click(null, null);
        }

有任何想法吗?

4

2 回答 2

0

尝试将 KeyPressEventArgs 的 Handled 属性设置为 true。不确定它是否会解决您的问题,但它是一种很好的形式。更多信息在这里

private void frmmain_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar == Convert.ToChar(Keys.Space))
            {
                 cmdPlay_Click(null, null);
                 e.Handled = true;
            }
    }

如果这不起作用,那么键盘事件挂钩肯定会。尽管挂钩事件是一项更大、更危险的任务。

于 2009-10-24T02:21:35.203 回答
0

你确定 cmdPlay_Click() 不是问题吗?IE 事件处理程序被多次调用但 cmdPlay_Click() 只播放一次?

于 2009-11-05T00:28:42.660 回答