如何在C#中使用KeyPress事件按下Alt时显示消息



当使用Windows窗体应用程序和C#中的KeyPress事件按下Alt时,我想显示一条消息。以下代码仅适用于Shift和Control,但不适用于Alt.它不会给我错误,但在我执行程序时不起作用。

public static System.Windows.Forms.Keys ModifierKeys
{
get;
}
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if((Control.ModifierKeys & Keys.Alt) == Keys.Alt)

{
((Control)sender).Hide(); 
MessageBox.Show("pppppppppppppppppppppp");
}
}

使用KeyDown,因为它内置了修饰符和特殊键,特别是Alt键是非字符键。

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Alt)
{
MessageBox.Show("Alt key was pressed down");
}
}

按键事件:

using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.Modifiers == Keys.Alt)
{
MessageBox.Show("Alt key pressed");
}
}
}
}

最新更新