[Tips][RichTextBox] 指定した位置の文字列を選択する

RichTextBox内で、指定した位置の文字列を選択状態にするにはSelectメソッドを使用します。

第1引数には文字列の選択開始位置を、第2引数は何文字選択するかを指定します。

 

下記は、指定した位置の文字列を選択する例です。

テキストボックスに入力された文字列を検索し、見つかった場合は文字列を選択します。

 

 

VBの例

' [検索]ボタンクリック時の処理
Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click
    Dim intFoundPos As Integer

    'テキストボックスに入力された文字列を検索
    intFoundPos = RichTextBox1.Find(txtSearch.Text)

    '文字列が見つかった位置が-1より大きいか?
    If intFoundPos > -1 Then
        '★★★検索で見つけた文字列を選択★★★
        RichTextBox1.Select(intFoundPos, txtSearch.TextLength)

        'フォーカスを当てる(フォーカスがはずれると選択されている場所がハイライトされないため)
        RichTextBox1.Focus()
    End If
End Sub

C#の例

// [検索]ボタンクリック時の処理
private void btnSearch_Click(object sender, EventArgs e)
{
    int intFoundPos;

    // ★★★テキストボックスに入力された文字列を検索★★★
    intFoundPos = richTextBox1.Find(txtSearch.Text);

    // 文字列が見つかった位置が-1より大きいか?
    if (intFoundPos > -1)
    {
        // ★★★検索で見つけた文字列を選択★★★
        richTextBox1.Select(intFoundPos, txtSearch.TextLength);

        // フォーカスを当てる(フォーカスがはずれると選択されている場所がハイライトされないため)
        richTextBox1.Focus();
    }
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.