Unityの最新のUI-VisualElementウィンドウを開いて入力フォーカスを取得する方法

以下は2019年以降のUI(VisualElement)に基づいています

 

一部の「高度な」「デスクトップアプリケーション」(マウスとキーボードを使用)のインターフェイス開発

インターフェイスを開いて、入力または貼り付けが必要になる場合があります

(これは非常に古い技術と見なすこともできます)

例:次のようにインターフェースを開きます

私は最初にこの方法を試しました

I tried:
textField.Focus();
textField.SelectAll();

OR

textField.Focus();
textField.SelectRange(...);

確かにそうではありません

最後に、公式フォーラムで見つかった答え

  var text = new TextField();
  //text.Focus();
  //text.ElementAt(0).Focus();

   //GUI.FocusControl("urlText");
   this.Add(text);
            
   this.schedule.Execute(() => {
       text.ElementAt(0).Focus();
       text.SelectAll();
    });

また、GuiはUnityの初期バージョンUI(IMGUI)のメソッドであり、

ここでは役に立たない、ただ記録するだけ

text.name="urlText"
GUI.FocusControl("urlText");
//虽然textField也是能命名
//但.FocusControl()要生效
//貌似要配合
GUI.SetNextControlName("Text1");

おすすめ

転載: blog.csdn.net/avi9111/article/details/123436210