winform a b两个按键同时按下的检测代码
时间: 2023-07-16 17:14:29 浏览: 75
你可以使用 KeyDown 和 KeyUp 事件来检测两个按键是否同时按下。
首先,在窗体的构造函数里注册 KeyDown 和 KeyUp 事件:
```
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.KeyDown += new KeyEventHandler(Form1_KeyDown);
this.KeyUp += new KeyEventHandler(Form1_KeyUp);
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
// 检测按下的键是否是 a 和 b
if (e.KeyCode == Keys.A)
{
aPressed = true;
}
else if (e.KeyCode == Keys.B)
{
bPressed = true;
}
// 检测 a 和 b 是否同时被按下
if (aPressed && bPressed)
{
MessageBox.Show("a 和 b 同时被按下了!");
}
}
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
// 检测松开的键是否是 a 和 b
if (e.KeyCode == Keys.A)
{
aPressed = false;
}
else if (e.KeyCode == Keys.B)
{
bPressed = false;
}
}
bool aPressed = false;
bool bPressed = false;
}
```
在 KeyDown 事件中,我们检测按下的键是否是 a 和 b,并且将相应的布尔变量设置为 true。然后,我们检测这两个变量是否都为 true,如果是,就弹出一个消息框。
在 KeyUp 事件中,我们检测松开的键是否是 a 和 b,并且将相应的布尔变量设置为 false。
注意,我们需要在窗体的构造函数里声明这两个布尔变量,并且设置事件处理程序。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)