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

时间:2016-04-16 06:33:53

标签: gtk vala genie

我创建了一个对话框,询问用户是否真的要继续创建另一个文件(文本缓冲区)。但是,我的方法有一些要求我在按钮yes或按钮no处单击两次。

我做错了什么?

具体功能的代码是:

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 ()

否则该功能正常。

1 个答案:

答案 0 :(得分:2)

您正在拨打Hello.run ()两次。第一次,您丢弃结果,第二次将其用于case块。