MyWindows : XtraUserControl,ISmartPartInfoProvider
而且我想在按下ESC键时将其关闭。
我使用Microsoft.Practices.CompositeUI.SmartParts MyWindows显示窗口如下: MyWindows temp = new MyWindows(); myWorkspace.Show(temp);
我尝试以下方法:
在构造
PreviewKeyDown += OnKeyDownP;
KeyDown += OnKeyDown;
随着方法:
private void OnKeyDownP(object sender, PreviewKeyDownEventArgs e)
{
if (e.KeyData == Keys.Escape)
{
this.Dispose();
}
}
private void OnKeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Escape)
{
this.Dispose();
}
}
但没有任何事件trigerred。
我错过了什么吗?
编辑 这个职位是有用的对我来说: Close a XtraUserControl on esc key pressed
你在哪里显示usercontrol?通常,重点控制将收到关键事件处理程序,而不是表单。 – 2013-03-27 15:36:22
你好,我用Microsoft.Practices.CompositeUI.SmartParts MyWindows:XtraUserControl,ISmartPartInfoProvider 后来我做 MyWindows临时=新MyWindows(); myWorkspace.Show(temp); – Thomas 2013-03-27 15:41:56