-1

私はmonodevelopでwinformsアプリケーションを作成していますが、メッセージダイアログのはい/いいえのプログラミングに問題があります。特に:

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

2番目の答え:

MessageDialog.Run()リターンをとしてキャストしないようにしてくださいResponseType。そのままにしておきますint

int response = question.Run();

GnomeMessageDialogを使用していると想定しています。

以下のコメントへの私の返信を参照してください

最初の答え: 2番目のIfステートメントは次のようにすべきではありません:

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

また、これはIf/Elseである必要があると思います。

于 2013-02-18T17:41:56.790 に答える