ユーザーがリッチテキストボックスにテキストを入力するチャットアプリケーションを構築しています。RichTextBox C#キャレットの位置を設定する
リッチテキストボックスには、「Me:」という初期のテキストがあります。
ユーザーがホームボタンを押すと、「Me:」文字列の後ろにキャレットを配置します。だからシフト+ホームの組み合わせや、トリプルマウスのクリックやCtrl +左のカーソルなど。
どうにかできますか?
私はすでに事前に
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetCaretPos(int X, int Y);
おかげで、 オズを試してみました。
@ozすでに言いました! –
@David、テキストの削除を防止するソリューションは、SelectionProtectedプロパティを使用しています。ユーザーがそれを選択するのを防ぐために、追加の作業が必要です....あなたはどこでこれを教えましたか? –
@os元の質問のどこにでもテキストを保護することは言及していません。また、私はかなり 'richTextBoxUserText.SelectionStart = richTextBoxUserText.TextLength + 1'はoutofrange例外をスローすると確信しています。 –