C# 重写键绑定
我试图让它无论发生什么,当我推送空格时,都会执行某个代码块(确切地说是cmd_play) 但是,如果您使用Form Keypress执行此操作,它似乎只工作一次:C# 重写键绑定,c#,keypress,C#,Keypress,我试图让它无论发生什么,当我推送空格时,都会执行某个代码块(确切地说是cmd_play) 但是,如果您使用Form Keypress执行此操作,它似乎只工作一次: private void frmmain_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == Convert.ToChar(Keys.Space)) cmdPlay_Click(null,
private void frmmain_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == Convert.ToChar(Keys.Space))
cmdPlay_Click(null, null);
}
有什么想法吗?尝试将KeyPressEventArgs的Handled属性设置为true。不确定它是否能解决您的问题,但它是一种良好的形式。更多信息
如果这不起作用,那么肯定会起作用。尽管挂接事件是一项更大、更危险的任务。您确定cmdPlay\u Click()不是问题所在吗?也就是说,事件处理程序被调用了多次,但cmdPlay_Click()只播放了一次?似乎仍然不起作用。如果选择了任何控件,它将不会在那里执行。我还尝试将其添加到列表视图中,但它仍然发出嘟嘟声:/
private void frmmain_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == Convert.ToChar(Keys.Space))
{
cmdPlay_Click(null, null);
e.Handled = true;
}
}