C#如何不在keydown事件中判断ctrl alt shift中的两个以上按键被按下

比如在panel的mousemove事件中,判断ctrl和alt是否同时被按下时(Control.ModifierKeys&Keys.Alt)==Keys.Alt&&(C... 比如在panel的mousemove事件中,判断ctrl和alt是否同时被按下时
(Control.ModifierKeys & Keys.Alt) == Keys.Alt && (Control.ModifierKeys & Keys.Control) == Keys.Control

Control.ModifierKeys == Keys.Alt && Control.ModifierKeys == Keys.Control

(Control.ModifierKeys & Keys.Alt) !=0 && (Control.ModifierKeys & Keys.Control) != 0
均没反应,但是只判断alt(就是把关于control的都去掉),那么三个表达都可以,难道panel的mousemove事件里只支持判断单个按键吗
展开
 我来答
lgao622
推荐于2018-05-18 · 知道合伙人软件行家
lgao622
知道合伙人软件行家
采纳数:1137 获赞数:6550
毕业于武汉工程大学邮电与信息工程学院通信专业,软件行业,4年工作经验。

向TA提问 私信TA
展开全部
KeyEventArgs类的主属性(KeyUp和KeyDown事件的一个参数)
(1).Alt属性:用来获取一个值,该值提示是否曾按下了Alt键
(2).Control属性:用来获取一个值,该值提示是否曾按下了Crtl键
(3).Shift属性:用来获取一个值,该值提示是否曾按下了Shift键
(4).Handle属性:用来获取一个值,该值提示是否曾处理过此事件
(5).KeyCode属性:以Keys枚举值返回键盘键的键码,该属性不包含修改键信息,用于测试指定的键盘键
(6).KeyData属性:以Keys枚举值返回键盘键的键码,该属性包含修改键信息,用于判断按下键的所有信息(可返回组合键)
(7).KeyValue属性:以整数形式返回键码,而不是Keys枚举类型值。用于获得所按下键的数字表示
(8).Modifiers属性:以Keys枚举值返回所按下的修改键,仅判断修改键的信息
a4138
推荐于2017-12-15 · TA获得超过265个赞
知道小有建树答主
回答量:395
采纳率:0%
帮助的人:106万
展开全部

1、(Control.ModifierKeys & Keys.Alt) == Keys.Alt && (Control.ModifierKeys & Keys.Control) == Keys.Control

2、Control.ModifierKeys == Keys.Alt && Control.ModifierKeys  == Keys.Control
3、(Control.ModifierKeys & Keys.Alt) !=0 && (Control.ModifierKeys & Keys.Control) != 0
试了一下,3种方法中只有2显然是不对,1、3能正确识别。请检查程序其它地方有没有问题?

 

在事件处理事件中加入以下几行测试一下:

void Panel1_MouseMove(object sender, MouseEventArgs e)
{
   MessageBox.Show(Control.ModifierKeys+"");
   if ((Control.ModifierKeys & Keys.Alt) == Keys.Alt && (Control.ModifierKeys & Keys.Control) == Keys.Control) MessageBox.Show("正确1");
   if (Control.ModifierKeys == Keys.Alt && Control.ModifierKeys  == Keys.Control) MessageBox.Show("正确12");
   if ((Control.ModifierKeys & Keys.Alt) !=0 && (Control.ModifierKeys & Keys.Control) != 0) MessageBox.Show("正确3");
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xpcn04
2013-09-06 · TA获得超过965个赞
知道大有可为答主
回答量:2978
采纳率:0%
帮助的人:1594万
展开全部
监控e参数。
看你在按过个键时,
e参数中的键位码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式