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(System::Object ^ sender, System::EventArgs ^ e) { if (!System::String::IsNullOrEmpty(textBox1->Text)) { textBox1->SelectionStart = 0; textBox1->SelectionLength = textBox1->Text->Length; } }
こちらも参照ください
- TextBox
- TextBox コントロールの概要
- 方法: Windows フォームの TextBox コントロールで挿入ポイントを制御する
- 方法: Windows フォーム TextBox コントロール を使用してパスワード テキスト ボックスを作成する
- 方法: Read-Only テキスト ボックス を作成する
- 方法: 文字列 に引用符を配置する
- 方法: Windows フォーム の TextBox コントロールで複数の行を表示する
- TextBox コントロール
.NET Desktop feedback