我有 UserControl 并面临 KeyDown 事件的问题。我的 UserControls 将显示反对撤销 windows 窗体 keydown 事件,如下所示:
用户控件的事件:
private void UserControl_KeyDown(object sender,KeyEventArgs e)
{
if ((Keys)e.KeyCode == Keys.Escape)
{
this.Visible = false;
}
}
上述事件将不得不隐藏 UserControl,但由于撤销 windows 窗体 keydown,事件不会触发,如下所示:
窗体:
private void button1_Click(object sender, EventArgs e)
{
panel1.SendToBack();
panel2.SendToBack();
panel3.SendToBack();
panel4.SendToBack();
am.Focus();
this.KeyDown -= new KeyEventHandler(Form1_KeyDown);
}
这将显示用户控件,因为用户控件被添加到 windows 窗体,如下所示:
private UserControl.UserControl am = new UserControl.UserControl();
public Form1()
{
InitializeComponent();
this.Controls.Add(am);
}
我想针对 UserControl 的可见性撤销 winform 的 keydown 事件并触发 UserControl 的 keydown 事件以隐藏 UserControl,但效果不佳。UserControl 事件的 keydown 事件不会触发。不知道为什么?。如何以正确的方式做同样的事情?