C#中怎么获取组合键?比如A+B同时按下才能激发事件?
C#中怎么获取组合键?比如A+B同时按下才能激发事件?privatevoidForm1_KeyDown(objectsender,KeyEventArgse){if(e....
C#中怎么获取组合键?比如A+B同时按下才能激发事件?
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode=Keys.A&&e.KeyCode=Keys.B)
{
MessageBox.Show("ssssssssssss");
}
}
用&&不管用啊?????
请高手指教!!! 展开
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode=Keys.A&&e.KeyCode=Keys.B)
{
MessageBox.Show("ssssssssssss");
}
}
用&&不管用啊?????
请高手指教!!! 展开
4个回答
展开全部
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)
{
}
更正一下,等于应该是“==”,不是“=”,“=” 这个是赋值的意思,
亏你也想的出,【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)
{
}
展开全部
如果一个组合键和一个字符键可以直接用&&
private void textbox_KeyDown(object sender, KeyEventArgs e)
{
// 如果按下组合键CTRL+R
if (e.Control && e.KeyCode == Keys.R)
...
}
private void textbox_KeyDown(object sender, KeyEventArgs e)
{
// 如果按下组合键CTRL+R
if (e.Control && e.KeyCode == Keys.R)
...
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
while
(true)
{
console.writeline("请输入");
consolekeyinfo
consolekeyinfo
=
console.readkey();
console.writeline(consolekeyinfo.modifiers);
if
(consolekeyinfo.modifiers.tostring()
==
"100")
{
console.writeline("你输入");
}
}
(true)
{
console.writeline("请输入");
consolekeyinfo
consolekeyinfo
=
console.readkey();
console.writeline(consolekeyinfo.modifiers);
if
(consolekeyinfo.modifiers.tostring()
==
"100")
{
console.writeline("你输入");
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用and试下呢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询