У меня есть классНедалеко XtraUserControl на клавишу ESC нажимается
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();
}
}
Но нет событий trigerred.
Я что-то пропустил?
EDIT Это сообщение было полезно, для меня: Close a XtraUserControl on esc key pressed
Как/где вы показываете usercontrol? Обычно сфокусированный элемент управления получает обработчики ключевых событий, а не форму. –
Здравствуйте, я использую Microsoft.Practices.CompositeUI.SmartParts MyWindows: XtraUserControl, ISmartPartInfoProvider Тогда я MyWindows Темп = новый MyWindows(); myWorkspace.Show (temp); – Thomas