ウィンドウが閉じると、編集したファイルを保存するかどうかを尋ねられます。また、アプリケーションの終了をキャンセルするオプションも必要です。Gtk#ウィンドウでDeleteEventを呼び出すと、ウィンドウが閉じないようにするにはどうすればよいですか?
WPFでは、これを行うにはCancelEventArgs.Cancelプロパティをtrueに設定できます。 Gtk#に相当する/回避策がありますか?
ウィンドウが閉じると、編集したファイルを保存するかどうかを尋ねられます。また、アプリケーションの終了をキャンセルするオプションも必要です。Gtk#ウィンドウでDeleteEventを呼び出すと、ウィンドウが閉じないようにするにはどうすればよいですか?
WPFでは、これを行うにはCancelEventArgs.Cancelプロパティをtrueに設定できます。 Gtk#に相当する/回避策がありますか?
,にDeleteEventArgs.RetValを設定する必要があります。falseではありません。 relevant Mono documentationから:
終値からGtk.Window
を保つために、true
にGtk.DeleteEventHandler
のGtk.DeleteEventArgs.RetVal
を設定します。
は、簡単に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
うまくいけば、このことができます。
DeleteEventArgs.RetValをfalseに設定すると、アプリケーションは終了しませんが、ウィンドウは表示されず、ShowAllを呼び出すと再び表示されません。 – weiqure
ありがとう!それは本当に明らかではなかった... – Pisu