2013-06-09 2 views
1

У меня есть игра, которую я написал в OpenTK, но я ищу способ добавить обработчик к кнопке закрытия игрового окна, фактически не закрыв игру (например, вызывая «делать» вы хотите сохранить, прежде чем вы уйдете? », вид диалога). Кажется, я не могу найти обработчик событий или документацию, которая это выполнит.Как предотвратить закрытие OpenTK.GameWindow

+0

Вы имеете в виду близкую кнопку GameWindow? – FriendlyGuy

+0

Да. (отредактированный оригинальный вопрос) –

ответ

1

Вы можете переопределить OnClosing method и показать свое сообщение там. Если пользователь не хочет, чтобы закрыть, вы можете использовать e.Cancel = true, который остановит форму от закрытия:

protected override void OnClosing(CancelEventArgs e) 
{ 
    // ... show message box 
    if (/* wants to save*/) 
    { 
     // Cancel closing, the player does not want to exist 
     e.Cancel = true; 
    } 
    base.OnClosing(e); 
} 
+0

Woohoo! Моя проблема заключалась в том, что я не переопределял класс GameWindow и просто создавал его экземпляр напрямую, поэтому я не обращал внимания на защищенные члены. Благодаря! –

+0

Да, документация OpenTK не совсем лучшая ИМХО. – FriendlyGuy

Смежные вопросы