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