2009-07-26 12 views
0

私はSystem.Windows.Forms.TextBoxを使用しています。 Shiftキーを押しながらキャレットを左に移動することで、選択範囲の開始にキャレットが配置されるようにキーボードを使用してテキストを選択することができます。選択の開始点に配置されたキャレットを使用してTextBoxのテキストを選択するにはどうすればよいですか?

プログラムで同じことをしたいと思います。

たとえば、「Some sample text」というテキストのテキストボックスがあるとします。私は "サンプル"の単語を選択し、 "サンプル"の "s"の直前にキャレットを配置したいと思います。

私はこれを行う場合は、次の

textbox.SelectionStart = 5; 
textbox.SelectionLength = 6; 

が、私は選択された単語を得るが、キャレットは、単に「サンプル」の「e」の後にあります。私はこれを行う場合は

textbox.SelectionStart = 11; 
textbox.SelectionLength = -6; 

私は例外を取得します。

キャレットを選択の先頭に配置するにはどうすればよいですか?

答えて

2

私はプログラムできません。 MSDNに記載されているように、ネイティブウィンドウコントロールは、開始位置と終了位置の相対値にかかわらず、終了位置に点滅するキャレットを表示します。

+0

不可能です。リンクをありがとう、本当に不可能と思われる。 –

1

非常に少数の事が...確かに

textbox.select(11, 0); 
SendKeys.Send("+{LEFT}+{LEFT}+{LEFT}+{LEFT}+{LEFT}+{LEFT}"); 
+0

問題は、テキストボックスの周囲にキーボード処理ロジックがある場合、それらのシミュレートされたキーのそれぞれに対して呼び出されるということです。 –

関連する問題