既に表示されている文字列を含むテキストボックスがあります。すでにやっているテキストボックスにカーソルを移動するには
txtbox.Focus();
しかし、テキストボックスの文字列の最後にカーソルを取得するにはどうすればよいですか?
Windowsフォームでは、txtbox.SelectionStart
およびtxtbox.SelectionLength
プロパティを使用して、カーソルの位置(および選択)を制御できます。キャレットを終了するように設定する場合は、これを試してください:
txtbox.SelectionStart = txtbox.Text.Length;
txtbox.SelectionLength = 0;
WPFについては、 この質問 を参照してください。
複数のオプションがあります:
txtBox.Focus();
txtBox.SelectionStart = txtBox.Text.Length;
OR
txtBox.Focus();
txtBox.CaretIndex = txtBox.Text.Length;
OR
txtBox.Focus();
txtBox.Select(txtBox.Text.Length, 0);
TextBox.CaretIndex を使用してキャレットの位置を設定できます。必要なのがカーソルを最後に設定することだけである場合、単に文字列の長さを渡すことができます、例えば:
txtBox.CaretIndex=txtBox.Text.Length;
キャレットインデックスを長さ1ではなく長さに設定する必要があります。これにより、キャレットが最後の文字の前に配置されるためです。
以下のように試してください...それはあなたを助けます...
Window Form Focus()
の一部の時間が正しく機能しません。したがって、Select()
を使用してテキストボックスにフォーカスを合わせることができます。
txtbox.Select(); // to Set Focus
txtbox.Select(txtbox.Text.Length, 0); //to set cursor at the end of textbox