标题 | 对话框的标题。 |
消息 | 对话框的目的。 |
确定 | 选择对话框功能。 |
取消 | 关闭对话框而不执行任何操作。 |
其他 | 选择其他对话框目的。 |
int 返回按钮的 ID。ID 为 0、1 或 2,分别对应于 ok
、cancel
和 alt
按钮。ID 为 1,对应于 cancel
,在关闭对话时或用户按 Escape 键时返回。
显示带三个按钮的模态对话框。
在编辑器中显示消息框时使用它。DisplayDialogComplex
类似于 DisplayDialog。此 DisplayDialogComplex
成员显示一个带三个按钮的对话框。这些按钮表示 ok
、cancel
和 alt
。 DisplayDialogComplex
返回整数 0、1 或 2,分别对应于 ok
、cancel
和 alt
按钮。ok
按钮是默认选项,也可以通过按 Enter 键激活。cancel
按钮被视为“取消”按钮,通常不应执行任何操作。在 PC 上,也可以通过按 Escape 键或单击对话框窗口关闭按钮来激活此按钮。在 Mac 上,如果按钮名为“取消”,也可以通过按 Escape 键来激活此按钮。alt
按钮允许你除了提供 ok
和 cancel
按钮外,为用户提供其他选择。此按钮没有固定的键盘快捷键。
为了符合平台界面的指南,按钮的实际显示顺序从属于平台
ok
、alt
,然后是 cancel
。alt
、cancel
,然后是 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; } } }