次の方法で共有


方法: Windows フォーム TextBox コントロールでテキストを選択する

Windows フォーム TextBox コントロールでは、プログラムでテキストを選択できます。 たとえば、特定の文字列のテキストを検索する関数を作成する場合は、見つかった文字列の位置を閲覧者に視覚的に警告するテキストを選択できます。

プログラムでテキストを選択するには

  1. SelectionStart プロパティを、選択するテキストの先頭に設定します。

    SelectionStart プロパティは、テキストの文字列内の挿入ポイントを示す数値で、0 は左端の位置です。 SelectionStart プロパティがテキスト ボックス内の文字数以上の値に設定されている場合、挿入ポイントは最後の文字の後に配置されます。

  2. SelectionLength プロパティを、選択するテキストの長さに設定します。

    SelectionLength プロパティは、挿入ポイントの幅を設定する数値です。 SelectionLength を 0 より大きい数値に設定すると、現在の挿入ポイントから始まる文字数が選択されます。

  3. (省略可能)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;
       }
    }
    

こちらも参照ください