版本:Unity 6 (6000.0)
语言中文
  • C#

EditorUtility.DisplayDialogComplex

建议更改

成功!

感谢您帮助我们提高 Unity 文档质量。虽然我们无法接受所有提交,但是我们确实会阅读用户建议的每项更改,并在适用时进行更新。

关闭

提交失败

出于某种原因,无法提交您建议的更改。请在几分钟后<a>重试</a>。感谢您花时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static int DisplayDialogComplex(string title, string message, string ok, string cancel, string alt);

参数

标题 对话框的标题。
消息 对话框的目的。
确定 选择对话框功能。
取消 关闭对话框而不执行任何操作。
其他 选择其他对话框目的。

返回

int 返回按钮的 ID。ID 为 0、1 或 2,分别对应于 okcancelalt 按钮。ID 为 1,对应于 cancel,在关闭对话时或用户按 Escape 键时返回。

描述

显示带三个按钮的模态对话框。

在编辑器中显示消息框时使用它。

DisplayDialogComplex 类似于 DisplayDialog。此 DisplayDialogComplex 成员显示一个带三个按钮的对话框。这些按钮表示 okcancelaltDisplayDialogComplex 返回整数 0、1 或 2,分别对应于 okcancelalt 按钮。

ok 按钮是默认选项,也可以通过按 Enter 键激活。

cancel 按钮被视为“取消”按钮,通常不应执行任何操作。在 PC 上,也可以通过按 Escape 键或单击对话框窗口关闭按钮来激活此按钮。在 Mac 上,如果按钮名为“取消”,也可以通过按 Escape 键来激活此按钮。

alt 按钮允许你除了提供 okcancel 按钮外,为用户提供其他选择。此按钮没有固定的键盘快捷键。

为了符合平台界面的指南,按钮的实际显示顺序从属于平台

  • 在 Windows 上,显示顺序为:okalt,然后是 cancel
  • 在 macOS 上,显示顺序为:altcancel,然后是 ok

其他资源:DisplayDialog


以下示例的 macOS 显示对话框按钮。



以下示例的 PC 显示对话框按钮。

以下脚本参考示例创建了一个复杂的显示对话框。所选按钮会导致调用一个 Unity EditorApplication 静态函数。

using UnityEngine;
using UnityEditor;

public class DisplayDlgComplexExample : EditorWindow { // Lets you save or not before quitting, or cancel.

[MenuItem("Example/Quit")] static void Init() { int option = EditorUtility.DisplayDialogComplex("Unsaved Changes", "Do you want to save the changes you made before quitting?", "Save", "Cancel", "Don't Save");

switch (option) { // Save. case 0: EditorApplication.SaveScene(EditorApplication.currentScene); EditorApplication.Exit(0); break;

// Cancel. case 1: break;

// Don't Save. case 2: EditorApplication.Exit(0); break;

default: Debug.LogError("Unrecognized option."); break; } } }