2009-06-24 17 views
4

ウィンドウが閉じると、編集したファイルを保存するかどうかを尋ねられます。また、アプリケーションの終了をキャンセルするオプションも必要です。Gtk#ウィンドウでDeleteEventを呼び出すと、ウィンドウが閉じないようにするにはどうすればよいですか?

WPFでは、これを行うにはCancelEventArgs.Cancelプロパティをtrueに設定できます。 Gtk#に相当する/回避策がありますか?

答えて

6

,にDeleteEventArgs.RetValを設定する必要があります。falseではありません。 relevant Mono documentationから:

終値からGtk.Windowを保つために、trueGtk.DeleteEventHandlerGtk.DeleteEventArgs.RetValを設定します。

+0

ありがとう!それは本当に明らかではなかった... – Pisu

0

は、簡単にGoogle検索からこのPythonの例(link)を発見:

# When the window is requested to be closed, we need to check if they have 
# unsaved work. We use this callback to prompt the user to save their work 
# before they exit the application. From the "delete-event" signal, we can 
# choose to effectively cancel the close based on the value we return. 
def on_window_delete_event(self, widget, event, data=None): 

    if self.check_for_save(): self.on_save_menu_item_activate(None, None) 
    return False # Propogate event 

うまくいけば、このことができます。

+1

DeleteEventArgs.RetValをfalseに設定すると、アプリケーションは終了しませんが、ウィンドウは表示されず、ShowAllを呼び出すと再び表示されません。 – weiqure

関連する問題