C#-判断Shift,Alt,Ctrl是否被按下,确定所按下的组合键
2010-05-31 11:30
232 查看
在创建接受用户击键的应用程序时,您还可能希望监视 SHIFT、ALT 和 CTRL 键等组合键。当一个组合键与其他键同时按下,或在单击鼠标的同时按下时,您的应用程序能够做出适当响应:字母 S 可能仅导致一个“S”出现在屏幕上,但是如果按下 CTRL+S,则可保存当前文档。
确定所按下的组合键
对 ModifierKeys 属性和 Keys 枚举的值使用按位与运算符(在 Visual Basic 中为 And,在Visual C# 中为 &),确定所按下的组合键。(ModifierKeys 是 Control 类的共享成员;有关共享成员的更多信息,请参阅共享成员。)
' Visual Basic
Private Sub button1_KeyPress(ByVal sender As Object, ByVal e As _
System.Windows.Forms.KeyPressEventArgs) Handles button1.KeyPress
If (Control.ModifierKeys And Keys.Shift) = Keys.Shift Then
MessageBox.Show("Pressed " & Keys.Shift)
End If
End Sub
// C#
private void button1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) {
if ((Control.ModifierKeys & Keys.Shift) == Keys.Shift) {
MessageBox.Show("Pressed " + Keys.Shift);
}
}
------------------------------------------------------------------------------------------------------------------------
首先用BOOL变量保存Ctrl键是否被按下,初始值为FALSE,BOOL的赋值在KeyDown事件里,判断Ctrl键是否被按下,如果被按下,BOOL变量为TRUE,否则为FALSE。KeyUp事件里将BOOL变量设置为FALSE
其次在MouseDown事件里判断BOOL变量的值。
------------------------------------------------------------------------------------------------------------------------
if ((Control.ModifierKeys & Keys.Control) == Keys.Control)
{
MessageBox.Show("Ctrl健被按下");
}
推荐阅读
http://www.tao36524.com
http://www.tao36524.cn
确定所按下的组合键
对 ModifierKeys 属性和 Keys 枚举的值使用按位与运算符(在 Visual Basic 中为 And,在Visual C# 中为 &),确定所按下的组合键。(ModifierKeys 是 Control 类的共享成员;有关共享成员的更多信息,请参阅共享成员。)
' Visual Basic
Private Sub button1_KeyPress(ByVal sender As Object, ByVal e As _
System.Windows.Forms.KeyPressEventArgs) Handles button1.KeyPress
If (Control.ModifierKeys And Keys.Shift) = Keys.Shift Then
MessageBox.Show("Pressed " & Keys.Shift)
End If
End Sub
// C#
private void button1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) {
if ((Control.ModifierKeys & Keys.Shift) == Keys.Shift) {
MessageBox.Show("Pressed " + Keys.Shift);
}
}
------------------------------------------------------------------------------------------------------------------------
首先用BOOL变量保存Ctrl键是否被按下,初始值为FALSE,BOOL的赋值在KeyDown事件里,判断Ctrl键是否被按下,如果被按下,BOOL变量为TRUE,否则为FALSE。KeyUp事件里将BOOL变量设置为FALSE
其次在MouseDown事件里判断BOOL变量的值。
------------------------------------------------------------------------------------------------------------------------
if ((Control.ModifierKeys & Keys.Control) == Keys.Control)
{
MessageBox.Show("Ctrl健被按下");
}
推荐阅读
http://www.tao36524.com
http://www.tao36524.cn
相关文章推荐
- 判断Shift,Alt,Ctrl是否被按下
- CListCtrl在处理NM_CLICK的时候,如何判断Ctrl SHIFT ALT键是否按下
- C#-判断Shift,Alt,Ctrl是否被按下
- 组合键问题(Ctrl Shift Alt)
- 按键测试,支持像 Ctrl+Alt+Shift+T 的组合键
- 在delphi根据TshiftState值来判断用户按下Ctrl,shift,alt等键的方法
- 按键测试,支持像 Ctrl+Alt+Shift+T 的组合键
- 判断shift,ctrl,alt键是否按下
- 1. 在delphi根据TshiftState值来判断用户按下Ctrl,shift,alt等键的方法
- 判断shift,ctrl,alt键是否按下
- 判断哪个修改键(Shift、Ctrl 和 Alt)处于按下状态的值。
- 在delphi根据TshiftState值来判断用户按下Ctrl,shift,alt等键的方法
- 判断集合从属关系的练习: 是否同时按下了 Ctrl 和 Shift 键
- BCB key事件中判断Shift、Alt、Ctrl状态
- 判断是否按下鼠标按钮的时候并按下了CTRL,SHIFT等键
- 在delphi根据TshiftState值来判断用户按下Ctrl,shift,alt等键的方法
- 判断集合从属关系的练习: 是否同时按下了 Ctrl 和 Shift 键
- 如何捕获Ctrl、Ctrl+Alt和Ctrl+Alt+Shift组合键
- cubase里的Alt、Shift、Ctrl很有用
- 在 IE7 浏览网站时用好 Ctrl+Alt 组合键