我在 Mono 中有 2 个表单。在 Form1 中按钮的 OnClickEvent 中,我想显示对话框 Form2 并从 Form2 中获取答案。在 C# 中我有这个代码
Form2 F=new Form2();
F.ShowDialog();
int MyAnswer=F.Answer;
但在 Mono ShowDialog() 函数中不存在。
这个问题的意思是:我想显示 Form2 但 Form1 等待 Form2 的结果
我在 Mono 中有 2 个表单。在 Form1 中按钮的 OnClickEvent 中,我想显示对话框 Form2 并从 Form2 中获取答案。在 C# 中我有这个代码
Form2 F=new Form2();
F.ShowDialog();
int MyAnswer=F.Answer;
这个问题的意思是:我想显示 Form2 但 Form1 等待 Form2 的结果
您可以使用 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 ();
看起来您正试图System.Windows.Forms.Form.ShowDialog()
在 Gtk# 应用程序中使用。
调用了等效的 Gtk# 函数Gtk.Dialog.Run
,请参阅Is there a Form.Showdialog equivalent for Gtk# Windows?
您还需要创建一个对话框,而不是一个表单 - 即。在 MonoDevelop 中添加新类时,选择“Gtk / Dialog”,而不是“Gtk / Widget”。