-1

我正在monodevelop上创建一个winforms应用程序,但我在编程messagedialogs是/否时遇到问题,特别是:

Gtk.Window main = new Gtk.Window ("MessageDialog");
            MessageDialog question = new MessageDialog(main, 
                                                       DialogFlags.Modal,
                                                       MessageType.Question, 
                                                       ButtonsType.YesNo, "Are you sure you want to quit?");
            question.Title="CsoundConverter";
            ResponseType response = (ResponseType)question.Run();

            question.Show();

            if (response == ResponseType.Yes)
           {                  
            // some statements
            question.Destroy();
           }

            if (response == ResponseType.Yes)
          {
            //some statements
            question.Destroy();
          } 

这段代码有什么问题?

4

1 回答 1

0

第二个答案:

尽量不要将MessageDialog.Run()返回值转换为ResponseType. 将其保留为int

int response = question.Run();

我假设您正在使用 Gnome MessageDialog。

请参阅下面我对您的评论的回复

第一个答案: 如果您的第二个 If 语句不是:

if (response == ResponseType.No)
{
    //some statements
    question.Destroy()
}

我也认为这应该是一个 If/Else。

于 2013-02-18T17:41:56.790 回答