我有一个WinForm应用程序,在该应用程序中,我希望使用转义按钮关闭控件。我已经在KeyPress上创建了一个事件,当我使用除Escape之外的任何其他键时,这是有效的。
private void ProductsView_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char) Keys.B || e.KeyChar == (char)Keys.Escape)
{
//Magic happens
}
}如果我按下'b‘一切按预期,但如果我按’逃逸‘,事件不会被触发(是的,我的逃逸按钮工作)。我不知道是什么导致了这个问题,我也尝试过KeyUp & KeyDown事件。
发布于 2015-08-20 07:48:40
您可以创建嵌套控件和重写方法ProcessCmdKey:
protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
{
switch (keyData)
{
case System.Windows.Forms.Keys.Escape:
{
//...magic
}
}
}https://stackoverflow.com/questions/32112277
复制相似问题