方法 : Windows フォーム TextBox コントロールでテキストを選択する
Windows フォーム TextBox コントロールを使用すると、プログラムによってテキストを選択できます。 たとえば、テキストの特定の文字列を検索する関数を作成した場合は、テキストを選択し、検索した文字列の位置を視覚的に示すことができます。
プログラムによってテキストを選択するには
SelectionStart プロパティに、選択するテキストの開始位置を設定します。
SelectionStart プロパティは、テキスト文字列内のカーソル位置を示す数値であり、0 は左端の位置を表します。 SelectionStart プロパティにテキスト ボックスの文字数以上の値を設定した場合、カーソル位置は最後の文字の後に配置されます。
SelectionLength プロパティに、選択するテキストの長さを設定します。
SelectionLength プロパティは、カーソル位置からの選択範囲の長さを設定する数値です。 SelectionLength に 0 より大きい値を設定すると、現在のカーソル位置を基点とした文字数が選択されます。
(省略可能) SelectedText プロパティを使用して、選択したテキストにアクセスします。
次のコードを使用すると、コントロールの Enter イベントが発生したときに、テキスト ボックスの内容が選択されます。 この例では、テキスト ボックスの Text プロパティの値が null または空の文字列でないかどうかを確認しています。 テキスト ボックスにフォーカスが移ると、テキスト ボックスの現在のテキストが選択されます。 TextBox1_Enter イベント ハンドラーは、コントロールにバインドする必要があります。詳細については、「方法 : Windows フォームで実行時にイベント ハンドラーを作成する」を参照してください。
この例をテストするには、テキスト ボックスにフォーカスが移るまで Tab キーを押します。 テキスト ボックス内をクリックすると、テキストの選択が解除されます。
Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter If (Not String.IsNullOrEmpty(TextBox1.Text)) Then TextBox1.SelectionStart = 0 TextBox1.SelectionLength = TextBox1.Text.Length End If End Sub
private void textBox1_Enter(object sender, System.EventArgs e){ if (!String.IsNullOrEmpty(textBox1.Text)) { textBox1.SelectionStart = 0; textBox1.SelectionLength = textBox1.Text.Length; } }
private void textBox1_Enter(Object sender, System.EventArgs e) { ...if (String.IsNullOrEmpty(textBox1.get_Text())) { textBox1.set_SelectionStart(0); textBox1.set_SelectionLength(textBox1.get_Text().get_Length()); } }
private: void textBox1_Enter(System::Object ^ sender, System::EventArgs ^ e) { if (!System::String::IsNullOrEmpty(textBox1->Text)) { textBox1->SelectionStart = 0; textBox1->SelectionLength = textBox1->Text->Length; } }
参照
処理手順
方法 : Windows フォーム TextBox コントロールでのカーソル位置を制御する
方法 : Windows フォームの TextBox コントロールを使用してパスワード テキスト ボックスを作成する
方法 : 読み取り専用テキスト ボックスを作成する (Windows フォーム)
方法 : 文字列に引用符を挿入する (Windows フォーム)
方法 : Windows フォーム TextBox コントロールで複数行を表示する
参照
TextBox コントロールの概要 (Windows フォーム)