if (e.KeyCode == Keys.A && e.KeyCode == Keys.B)
更正一下,等于应该是“==”,不是“=”,“=” 这个是赋值的意思,
亏你也想的出,【e.KeyCode】怎么可能同时等于【Keys.A】和【Keys.B】呢?这样的条件打死也不可能成立,就好比下面的一样:
int a;
if(a == 1 && a == 2)
{
}
无论怎样,都不可能成立,因为a不可能既等于1又等于2,那你还不如这样写:
if(false)
{
}
不是所有的组合键winform都支持,winform目前只支持ctrl、alt,shift等组合键,代码如下:
private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.Modifiers == Keys.Control && e.KeyCode == Keys.A)MessageBox.Show("Ctrl + A");
}
你要做游戏么?如果要支持形如【A + B】这样的组合键,要用directinput,或者有个投机取巧的办法也可以实现:
bool A = false;
bool B = false;
KeyDown事件,按下A键:
A = true;
KeyUp事件,放开A键:
A = false;
判断按下状态就相当于组合键:
if(A && B)
{
}