我试图这样做无论如何,当我推送Space时,会执行某段代码(cmd_play,确切地说)。
但是,如果您使用Form Keypress执行此操作,它似乎只能工作一次:
private void frmmain_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == Convert.ToChar(Keys.Space))
cmdPlay_Click(null, null);
}
任何想法?
答案 0 :(得分:0)
尝试将KeyPressEventArgs的Handled属性设置为true。不确定它是否能解决你的问题,但它是一个很好的形式。更多信息here
private void frmmain_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == Convert.ToChar(Keys.Space))
{
cmdPlay_Click(null, null);
e.Handled = true;
}
}
如果这不起作用那么keyboard event hooks肯定会。虽然挂钩活动是一项更大更危险的事业。
答案 1 :(得分:0)
你确定cmdPlay_Click()不是问题吗? I.E.事件处理程序IS被多次调用,但cmdPlay_Click()只播放一次?