VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

メニューへ戻ります。 RichTextBox 関係のメニュー
1.RichTextBox コントロールに関するワンポイントテクニック集
2.RichTextBox コントロールの内容を印刷する方法
3.選択範囲の文字列を縦方向の指定位置に表示する(上揃え/下揃え)
4.RichTextBox に画像を縦横比を保持したまま指定サイズに伸縮して表示 
5.RichTextBox で左右のマージンを設定する
6.
7.
8. 
9. 
10. 
11.
12.
 . 
20.その他、当サイト内に掲載の RichTextBox に関するサンプル 


1.RichTextBox コントロールに関するワンポイントテクニック集(22_Rtf_01) (旧、SampleNo.115)
1 .テキストファイルを読み込み RichTextBox に表示する
2 .リッチテキストファイルを読み込み RichTextBox に表示する
3 .WordWrap を解除し、水平スクロールバーを表示する
4 .RichTextBox に表示されているテキストをテキスト形式で保存
5 .RichTextBox に表示されているテキストをリッチテキスト形式で保存
6 .フォーカスを失っても選択範囲は強調表示のままに設定
7 .RichTextBox の選択範囲のテキストを指定のカラーに設定する
8 .RichTextBox の選択文字を太字に設定する
9 .RichTextBox の選択文字のフォントスタイルを変更する
10.RichTextBox のテキスト内を指定の文字列を検索する(再度クリックすれば見つかった位置から再度検索する)
11.RichTextBox のテキストの選択行を左揃えで表示する
12.RichTextBox のテキストの選択行を中央揃えで表示する
13.RichTextBox のテキストの選択行を右揃えで表示する
14.RichTextBox に表示されているテキストの総行数を取得する
15.RichTextBox のデフォルトのフォントが自動的に変更されるのを防止
16.RichTextBox で Tab キーを押した場合タブ(空白)を入力できるようにする
17.RichTextBox の指定の位置に TAB 間隔を設定する(設定単位は ピクセル)
   RichTextBox のすべてのテキストを選択する/解除する
18.RichTextBox に入力された URL を自動的にリンクとして書式設定する
   リンクをクリックされた場合、指定リンクを開く
19.RichTextBox のテキストをクリック毎に10% づつ拡大/縮小して表示する
20.現在のキャレット(カーソル)位置を取得及びその位置にクリップボードから文字列を挿入
21.
22.
23.
24.
25.

上記に掲載が見当たらない場合は、テキストボックスの方のサンプルも探して見て下さい。(テキストボックスでできることは、ほぼ RichTextBox 上でもできます。)

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86
Option :[Compare Text] [Explicit On] [Infer On] [Strict On]
Imports :追加なし
参照設定:
追加なし
その他 :
    :
このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので)
必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい)
このページのトップへ移動します。 1.テキストファイルを読み込み RichTextBox に表示する

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'01.テキストファイルを読み込み RichTextBox に表示する
    RichTextBox1.LoadFile("..\..\..\data\test.txt", RichTextBoxStreamType.PlainText)
End Sub

このページのトップへ移動します。 2.リッチテキストファイルを読み込み RichTextBox に表示する

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'02.リッチテキストファイルを読み込み RichTextBox に表示する
    RichTextBox1.LoadFile("..\..\..\data\test.rtf", RichTextBoxStreamType.RichText)
End Sub

このページのトップへ移動します。 3.WordWrap を解除し、水平スクロールバーを表示する

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
'03.WordWrap を解除し、水平スクロールバーを表示する
    'WordWrap を解除する
    RichTextBox1.WordWrap = False

    '常に水平スクロールバーと垂直スクロールバーの両方を表示します。
    RichTextBox1.ScrollBars = RichTextBoxScrollBars.ForcedBoth
End Sub

このページのトップへ移動します。 4.RichTextBox に表示されているテキストをテキスト形式で保存

Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
'04.RichTextBox に表示されているテキストをテキスト形式で保存
    RichTextBox1.SaveFile("saveTest.txt", RichTextBoxStreamType.PlainText)
End Sub

このページのトップへ移動します。 5.RichTextBox に表示されているテキストをリッチテキスト形式で保存

Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
'05.RichTextBox に表示されているテキストをリッチテキスト形式で保存
    RichTextBox1.SaveFile("saveTest.rtf", RichTextBoxStreamType.RichText)
End Sub

このページのトップへ移動します。 6.フォーカスを失っても選択範囲は強調表示のままに設定

Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
'06.フォーカスを失っても選択範囲は強調表示のままに設定
    RichTextBox1.HideSelection = False   'Default は True
End Sub

このページのトップへ移動します。 7.RichTextBox の選択範囲のテキストを指定のカラーに設定する

Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
'07.RichTextBox の選択範囲のテキストを指定のカラーに設定する
    Using ColorDialog1 As New ColorDialog
        With ColorDialog1
            .AllowFullOpen = True
            '現在設定の色を選択(特に設定しなくてもよい)
            .Color = RichTextBox1.SelectionColor
            'ダイアログボックスを表示し、OK ボタンが押されたら
            If .ShowDialog = Windows.Forms.DialogResult.OK Then
                RichTextBox1.SelectionColor = .Color
            End If
        End With
    End Using
End Sub

このページのトップへ移動します。 8.RichTextBox の選択文字を太字に設定する

Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
'08.RichTextBox の選択文字を太字に設定する
    RichTextBox1.SelectionFont = New Font(RichTextBox1.SelectionFont, FontStyle.Bold)
End Sub

このページのトップへ移動します。 9.RichTextBox の選択文字のフォントスタイルを変更する

Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
'09.RichTextBox の選択文字のフォントスタイルを変更する
  'RichTextBox1.SelectionFont = New Font("MS P明朝", 12, RichTextBox1.SelectionFont.Style)

    'フォントダイアログを使った場合
    Using FontDialog1 As New FontDialog
        With FontDialog1
            .ShowColor = True  'ダイアログボックスに色の選択肢を表示
            .MinSize = 8    'ユーザーが選択できる最小値を設定
            .MaxSize = 24    'ユーザーが選択できる最大値を設定
            .Font = RichTextBox1.SelectionFont   '現在の設定のフォントを表示
            .Color = RichTextBox1.SelectionColor  '現在の設定のフォントカラーを表示
            'ダイアログボックスを表示しOKボタンが押されたら
            If .ShowDialog = Windows.Forms.DialogResult.OK Then
                RichTextBox1.SelectionFont = .Font
                RichTextBox1.SelectionColor = .Color
            End If
        End With
    End Using
End Sub

このページのトップへ移動します。 10.RichTextBox のテキスト内を指定の文字列を検索する(再度クリックすれば見つかった位置から再度検索する)

Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click
'10.RichTextBox のテキスト内を指定の文字列を検索する(再度クリックすれば見つかった位置から再度検索する)
    Dim intPos As Integer
    With RichTextBox1
        .SelectionStart = .SelectionStart + .SelectionLength
        .SelectionLength = 0
        intPos = .Find("滋賀県", .SelectionStart, -1, RichTextBoxFinds.None)
        If intPos = -1 Then
            MessageBox.Show("滋賀県" & "は見つかりませんでした")
        End If
        .Focus()
    End With
End Sub

このページのトップへ移動します。 11.RichTextBox のテキストの選択行を左揃えで表示する

Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
'11.RichTextBox のテキストの選択行を左揃えで表示する
    RichTextBox1.SelectionAlignment = HorizontalAlignment.Left
End Sub

このページのトップへ移動します。 12.RichTextBox のテキストの選択行を中央揃えで表示する

Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
'12.RichTextBox のテキストの選択行を中央揃えで表示する
    RichTextBox1.SelectionAlignment = HorizontalAlignment.Center
End Sub

このページのトップへ移動します。 13.RichTextBox のテキストの選択行を右揃えで表示する

Private Sub Button13_Click(sender As Object, e As EventArgs) Handles Button13.Click
'13.RichTextBox のテキストの選択行を右揃えで表示する
    RichTextBox1.SelectionAlignment = HorizontalAlignment.Right
End Sub

このページのトップへ移動します。 14.RichTextBox に表示されているテキストの総行数を取得する

Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click
'14.RichTextBox に表示されているテキストの総行数を取得する
    Dim nLine As Integer = RichTextBox1.Lines.Length
    MessageBox.Show(String.Format("総行数 = {0} 行です。", nLine))
    Debug.WriteLine(nLine) '結果 42
End Sub

このページのトップへ移動します。 15.RichTextBox のデフォルトのフォントが自動的に変更されるのを防止

Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click
'15.RichTextBox のデフォルトのフォントが自動的に変更されるのを防止
  '実行後、英数半角で文字を入力し、再度実行後、文字を入力して比べて見て下さい。

    RichTextBox1.Font = New Font("MS P明朝", 16, FontStyle.Regular)

    Debug.WriteLine(RichTextBox1.LanguageOption)
    If RichTextBox1.LanguageOption = (RichTextBoxLanguageOptions.AutoFont Or RichTextBoxLanguageOptions.DualFont) Then
        'ユーザーインターフェイスの既定のフォントを使用するよう指定します
        RichTextBox1.LanguageOption = RichTextBoxLanguageOptions.UIFonts
    Else
        RichTextBox1.LanguageOption = (RichTextBoxLanguageOptions.AutoFont Or RichTextBoxLanguageOptions.DualFont)
    End If
    MessageBox.Show(String.Format("LanguageOption = {0} で    Font = {1} です。", RichTextBox1.LanguageOption, RichTextBox1.Font))

    Debug.WriteLine(RichTextBox1.LanguageOption)
End Sub

このページのトップへ移動します。 16.RichTextBox で Tab キーを押した場合タブ(空白)を入力できるようにする

Private Sub Button16_Click(sender As Object, e As EventArgs) Handles Button16.Click
'16.RichTextBox で Tab キーを押した場合タブ(空白)を入力できるようにする
    RichTextBox1.AcceptsTab = Not RichTextBox1.AcceptsTab '既定値は、false
End Sub

このページのトップへ移動します。 17.RichTextBox の指定の位置に TAB 間隔を設定する(設定単位は ピクセル)

Private Sub Button17_Click(sender As Object, e As EventArgs) Handles Button17.Click
'17.RichTextBox の指定の位置に TAB 間隔を設定する(設定単位は ピクセル)
    'RichTextBox のすべてのテキストを選択する
    RichTextBox1.Text = "123" & vbTab & "abc" & vbTab & "あいう" & vbTab & "123" & vbTab _
                   &
"ABC" & vbTab & "あいう" & vbTab & "123"
    RichTextBox1.SelectAll()
    RichTextBox1.SelectionTabs = New Integer() {0, 10, 100, 250, 300, 500, 550, 700}
    RichTextBox1.SelectionLength = 0
    RichTextBox1.AcceptsTab = True
End Sub

上記で問題がある場合は、Win32 API 関数を使った方法で設定して見て下さい。

このページのトップへ移動します。 18.RichTextBox に入力された URL を自動的にリンクとして書式設定する

Private Sub Button18_Click(sender As Object, e As EventArgs) Handles Button18.Click
'18.RichTextBox に入力された URL を自動的にリンクとして書式設定する
    '(これだけではリンクをクリックしてもなにもおこらない。)
    RichTextBox1.Text = "http://www.hanatyan.sakura.ne.jp/"
    RichTextBox1.DetectUrls = True   '既定値は、true です。
End Sub

Private Sub RichTextBox1_LinkClicked(sender As Object, e As LinkClickedEventArgs) Handles RichTextBox1.LinkClicked
    'リンクをクリックされた場合、指定リンクを開く(リンクのクリックを処理する)
    System.Diagnostics.Process.Start(e.LinkText)
End Sub

このページのトップへ移動します。 19.RichTextBox のテキストをクリック毎に10% づつ拡大/縮小して表示する

Private ZoomFact As Single = 1.0

Private Sub Button19_Click(sender As Object, e As EventArgs) Handles Button19.Click
'19.RichTextBox のテキストをクリック毎に10% づつ拡大/縮小して表示する

    'RichTextBox のテキストをクリック毎に10% づつ拡大して表示する
    ZoomFact = CSng(ZoomFact + 0.1)
    RichTextBox1.ZoomFactor = ZoomFact

    'RichTextBox のテキストをクリック毎に10% づつ縮小して表示する
    'ZoomFact = CSng(ZoomFact - 0.1)
    'RichTextBox1.ZoomFactor = ZoomFact
End Sub

このページのトップへ移動します。 20.現在のキャレット(カーソル)位置を取得及びその位置にクリップボードから文字列を挿入

Private Sub Button20_Click(sender As Object, e As EventArgs) Handles Button20.Click
'20.現在のキャレット(カーソル)位置を取得及びその位置にクリップボードから文字列を挿入
    MessageBox.Show("現在のキャレット位置は、" & _
                    RichTextBox1.SelectionStart & " 文字目にあります")
    '現在システムクリップボードにあるデータを取得します
    Dim iData As IDataObject = Clipboard.GetDataObject()
    'クリップボードにテキストデータがあれば
    If iData.GetDataPresent(DataFormats.Text) Then
        '現在のキャレット位置に挿入する
        RichTextBox1.SelectedText = CType(iData.GetData(DataFormats.Text), String)
    End If
End Sub

このページのトップへ移動します。 21.


このページのトップへ移動します。 22.


このページのトップへ移動します。 23.


このページのトップへ移動します。 24.


このページのトップへ移動します。 25.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)
リッチテキストボックス




このページのトップへ移動します。