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

EditorGUI.FocusTextInControl

建议更改

成功!

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

关闭

提交失败

由于某些原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static void FocusTextInControl(string name);

参数

name 使用 GUI.SetNextControlName 设置的名称。

描述

将键盘焦点移动到命名的文本字段并开始编辑其内容。

在编辑器 GUI 中,文本字段可以具有键盘焦点,而文本本身不会被编辑。例如,您可以使用上箭头键和下箭头键在文本字段或其他控件之间切换焦点。一旦您单击文本字段内部,文本本身的编辑就会开始,然后箭头键将用于导航文本内容。 EditorGUI.FocusTextInControlGUI.FocusControl 类似,因为它将键盘焦点赋予控件,但它也会开始文本本身的编辑。

其他资源: GUI.SetNextControlNameGUI.GetNameOfFocusedControl

using UnityEngine;
using UnityEditor;

public class Example : EditorWindow { // When pressed the button, selects the "username" Textfield. string username = "username"; string pwd = "a pwd"; void OnInspectorGUI() { // Set the internal name of the textfield GUI.SetNextControlName("MyTextField");

// Make the actual text field. username = EditorGUI.TextField(new Rect(10, 10, 100, 20), username); pwd = EditorGUI.TextField(new Rect(10, 40, 100, 20), pwd);

// If the user presses this button, keyboard focus will move. if (GUI.Button(new Rect(10, 70, 80, 20), "Move Focus")) { EditorGUI.FocusTextInControl("MyTextField"); } } }