Gtk 如何修复对话框中的两次单击

Gtk 如何修复对话框中的两次单击,gtk,vala,genie,Gtk,Vala,Genie,我创建了一个对话框,询问用户是否真的要继续创建另一个文件(文本缓冲区)。然而,我的方法有些地方需要我点击两次“是”或“否”按钮 我做错了什么 特定功能的代码为: def createnew () var Hello=new MessageDialog (null, Gtk.DialogFlags.MODAL, Gtk.MessageType.INFO, Gtk.ButtonsType.YES_NO, "Hello world!") Hello.format

我创建了一个对话框,询问用户是否真的要继续创建另一个文件(文本缓冲区)。然而,我的方法有些地方需要我点击两次“是”或“否”按钮

我做错了什么

特定功能的代码为:

def createnew ()
    var Hello=new MessageDialog (null, Gtk.DialogFlags.MODAL,
            Gtk.MessageType.INFO, Gtk.ButtonsType.YES_NO, "Hello world!")
    Hello.format_secondary_text ("This will delete the contets. Are you sure?")
    Hello.run ()

    case Hello.run()
        when ResponseType.YES
            _view.buffer.set_text("")
            Hello.destroy ()
        when ResponseType.NO
            Hello.destroy ()

否则该函数工作正常。

您调用了两次
Hello.run()
。第一次,您放弃结果,第二次将其用于
案例