0

我有一堂课

MyWindows : XtraUserControl,ISmartPartInfoProvider

我想在按下转义键时关闭它。

我使用 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();
        }
    }

但是没有事件被触发。

我错过了什么吗?

编辑 这篇文章对我有用: 在按下 esc 键时关闭 XtraUserControl

4

1 回答 1

1

是的。您应该将您的KeyPreview属性设置Formtrue. 你应该使用你的Form事件来捕捉按键。

于 2013-03-27T15:35:47.213 回答