1

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

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

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

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

4

2 回答 2

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 ();
于 2012-12-25T12:39:00.483 回答
0

看起来您正试图System.Windows.Forms.Form.ShowDialog()在 Gtk# 应用程序中使用。

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

您还需要创建一个对话框,而不是一个表单 - 即。在 MonoDevelop 中添加新类时,选择“Gtk / Dialog”,而不是“Gtk / Widget”。

于 2012-12-25T12:42:21.997 回答