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");
}
}

用&&不管用啊?????
请高手指教!!!
展开
 我来答
百度网友dc91b32
2008-12-28 · TA获得超过5650个赞
知道大有可为答主
回答量:5653
采纳率:0%
帮助的人:0
展开全部
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)
{
}
xupeiying
2008-12-28 · TA获得超过468个赞
知道小有建树答主
回答量:553
采纳率:0%
帮助的人:569万
展开全部
如果一个组合键和一个字符键可以直接用&&
private void textbox_KeyDown(object sender, KeyEventArgs e)
{
// 如果按下组合键CTRL+R
if (e.Control && e.KeyCode == Keys.R)
...
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
逢恩柔语
2019-12-10 · TA获得超过3756个赞
知道大有可为答主
回答量:3037
采纳率:32%
帮助的人:212万
展开全部
while
(true)
{
console.writeline("请输入");
consolekeyinfo
consolekeyinfo
=
console.readkey();
console.writeline(consolekeyinfo.modifiers);
if
(consolekeyinfo.modifiers.tostring()
==
"100")
{
console.writeline("你输入");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenludaniel
2008-12-28 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:121万
展开全部
用and试下呢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式