RichTextBox

[Tips][TextBox] 折り返しの設定をする

テキストを右端で折り返すかどうかを設定するにはWordWrapプロパティを使用します。

WordWrapプロパティにTrueを設定した場合は右端で折り返しを行い(既定値)、Falseを設定した場合には折り返しを行いません。

下記は、テキストの折り返しの設定をする例です。

チェックボックスの状態に合わせて、折り返すかどうかを設定します。

VBの例

' [右端でテキストを折り返す]のチェック状態に合わせてWordWrapを設定
Private Sub chkWordWarp_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles chkWordWarp.CheckedChanged
    '★★★右端で折り返すかどうかを設定する★★★
    TextBox1.WordWrap = chkWordWarp.Checked
End Sub

C#の例

// [右端でテキストを折り返す]のチェック状態に合わせてWordWrapを設定
private void chkWordWarp_CheckedChanged(object sender, EventArgs e)
{
    // ★★★右端で折り返すかどうかを設定する★★★
    textBox1.WordWrap = chkWordWarp.Checked;
}

[Tips][RichTextBox] まとめ

これまでに紹介したRichTextBoxのTipsは下記の通りです。

  1. テキストを取得/設定する
  2. 単語単位での選択を有効にする
  3. テキストファイルを読み込む
  4. RichTextBoxの内容をテキストファイルに保存する
  5. リッチテキストファイルを読み込む
  6. RichTextBoxの内容をリッチテキスト形式で保存する
  7. 指定した行のテキストを取得する
  8. テキストの行数を取得する
  9. 現在選択されているテキストの色を変更する
  10. 現在選択されているテキストの背景色を変更する
  11. 選択されているテキストのフォントを変更する
  12. 読み取り専用にする
  13. 文字列を検索する
  14. 指定した位置の文字列を検索する
  15. フォーカスを失っても選択範囲のハイライトを維持する
  16. キャレットの位置を取得する
  17. Undo/Redoを実行する
  18. 入力されたURLを自動でハイパーリンクに変更する

[Tips][RichTextBox] 入力されたURLを自動でハイパーリンクに変換する

DetectUrlsプロパティにTrueを設定すると、入力された文字列がURLと認識できた場合に自動でハイパーリンクの書式に変換することができます。

また、ハイパーリンク書式が設定された文字列はクリックされるとLinkClickedイベントが発生します。

 

下記は、入力されたURLを自動でハイパーリンクに変換する例です。

ハイパーリンクの書式に設定された文字列がクリックされると、Webブラウザを起動してURLを開きます。

 

 

VBの例

' フォームロード時の処理
Private Sub Form18_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    '★★★URLが入力されたら自動でハイパーリンクに設定する★★★
    RichTextBox1.DetectUrls = True
End Sub

' リンクがクリックされたときの処理
Private Sub RichTextBox1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkClickedEventArgs) Handles RichTextBox1.LinkClicked
    'クリックされたリンクをWebブラウザで開く
    System.Diagnostics.Process.Start(e.LinkText)
End Sub

C#の例

// フォームロード時の処理
private void Form18_Load(object sender, EventArgs e)
{
    // ★★★URLが入力されたら自動でハイパーリンクに設定する★★★
    richTextBox1.DetectUrls = true;
}

// リンクがクリックされたときの処理
private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e)
{
    // クリックされたリンクをWebブラウザで開く
    System.Diagnostics.Process.Start(e.LinkText);
}

[Tips][RichTextBox] Undo/Redoを実行する

RichTextBoxコントロールでは、メソッドを使用してUndo/Redoを行うことができます。

Undoを行うにはUndoメソッドを、Redoを行うにはRedoメソッドを使用します。

また、Undo操作が可能かどうかを調べるにはCanUndoプロパティを、Redoが可能かどうかを調べるにはCanRedoプロパティを参照します。Trueであれば操作可能です。

 

下記はUndo/Redoを実行する例です。

[Undo]ボタン、[Redo]ボタンがクリックされると、Undo/Redoが可能かを判断して操作を実行します。

 

 

VBの例

' [Undo]ボタンクリック時の処理
Private Sub btnUndo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUndo.Click
    'Undoできるか?
    If RichTextBox1.CanUndo = True Then
        '★★★ Undoを実行する ★★★
        RichTextBox1.Undo()
    End If
End Sub

' [Redo]ボタンクリック時の処理
Private Sub btnRedo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRedo.Click
    'Redoできるか?
    If RichTextBox1.CanRedo = True Then
        '★★★ Redoを実行する ★★★
        RichTextBox1.Redo()
    End If
End Sub

C#の例

// [Undo]ボタンクリック時の処理
private void btnUndo_Click(object sender, EventArgs e)
{
    // Undoできるか?
    if (richTextBox1.CanUndo == true)
    {
        // ★★★ Undoを実行する ★★★
        richTextBox1.Undo();
    }
}

// [Redo]ボタンクリック時の処理
private void btnRedo_Click(object sender, EventArgs e)
{
    // Redoできるか?
    if (richTextBox1.CanRedo == true)
    {
        // ★★★ Undoを実行する ★★★
        richTextBox1.Redo();
    }
}