1

私はMonoに2つのフォームを持っています。Form1のボタンのOnClickEventで、Dialog Form2を表示し、Form2から回答を取得したいと思います。C#では、このコードがあります。

Form2 F=new Form2();
F.ShowDialog();
int MyAnswer=F.Answer;

しかし、Mono ShowDialog()関数には存在しません。

この質問の意味:Form2を表示したいのですが、Form1はForm2の結果を待ちます

4

2 に答える 2

1

Gtk.Windowを使用する代わりに、Gtk.Dialogを使用してこのコードを使用できます。

ResponseType response = ResponseType.None;
using (var dlg = new YesNoDialog ("Title", "Question", "Yes Button", "No Button"))
    response = (ResponseType) dialog.Run ();

if (response == ResponseType.Yes)
        OverwriteFile ();
于 2012-12-25T12:39:00.483 に答える
0

System.Windows.Forms.Form.ShowDialog()Gtk# アプリケーションで使用しようとしているようです。

同等の Gtk# 関数が呼び出されます。Gtk# Windows に相当する Form.Showdialog はありますか? をGtk.Dialog.Run参照してください。

また、フォームではなくダイアログを作成する必要があります。MonoDevelop で新しいクラスを追加するときは、「Gtk / Widget」ではなく「Gtk / Dialog」を選択します。

于 2012-12-25T12:42:21.997 に答える