Mono中的ShowDialog()

时间:2012-12-25 12:03:58

标签: mono gtk# showdialog

我在Mono中有2个表单。在Form1中按钮的OnClickEvent中,我想showDialog Form2并从Form2中获取答案。在C#中我有这个代码

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

但在Mono ShowDialog()函数中不存在。

这个问题意味着:我想显示Form2但是Form1等待Form2的结果

2 个答案:

答案 0 :(得分:1)

您可以使用Gtk.Dialog并使用此代码,而不是使用Gtk.Window。

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

if (response == ResponseType.Yes)
        OverwriteFile ();

答案 1 :(得分:0)

您似乎正在尝试在Gtk#应用程序中使用System.Windows.Forms.Form.ShowDialog()

等效的Gtk#函数称为Gtk.Dialog.Run,请参阅Is there a Form.Showdialog equivalent for Gtk# Windows?

您还需要创建一个Dialog,而不是一个Form - 即。当你在MonoDevelop中添加新类时,你选择“Gtk / Dialog”,而不是“Gtk / Widget”。