当Gtk#窗口调用DeleteEvent时,如何阻止窗口关闭?

时间:2009-06-24 09:53:56

标签: gtk#

当窗口关闭时,系统会要求用户保存他们编辑的文件。他们还应该有一个取消退出申请的选项。

在WPF中,我可以将CancelEventArgs.Cancel属性设置为true来执行此操作。 Gtk#中是否存在等效/解决方法?

2 个答案:

答案 0 :(得分:7)

您需要将DeleteEventArgs.RetVal设置为 true ,而不是false。来自relevant Mono documentation

要保持关闭Gtk.Window,请将Gtk.DeleteEventHandler的{​​{1}}设置为Gtk.DeleteEventArgs.RetVal

答案 1 :(得分:0)

通过快速谷歌搜索找到了这个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

希望这有帮助。