MonoCode中是否有MessageBox.Show()等效项

时间:2012-05-09 22:21:12

标签: .net monomac

在MonoMac中是否有等效的MessageBox.Show(),还是我必须专门为此目的创建某种弹出类?

1 个答案:

答案 0 :(得分:9)

您正在寻找NSAlert,它与MessageBox大致相同。

您可以使用NSAlert.RunModal()显示NSAlert,或者如果您希望它在特定窗口中显示为工作表,则使用NSAlert.BeginSheet()。

e.g。

var alert = new NSAlert {
    MessageText = "Hello, this is an alert!",
    AlertStyle = NSAlertStyle.Informational
};

alert.AddButton ("OK");
alert.AddButton ("Cancel");

var returnValue = alert.RunModal();
// returnValue will be 1000 for OK, 1001 for Cancel

您可以在MonoMac视角中看一下如何使用它:

https://github.com/picoe/Eto/blob/master/Source/Eto.Platform.Mac/Forms/MessageBoxHandler.cs