[C#][Windows Formsアプリ][RichTextBox] WordWrapプロパテで折り返し位置を制御する

スポンサーリンク

はじめに

RichTextBoxに長い文章を入力したとき、画面の右端で自動的に折り返すかどうかを決めるのが
WordWrapプロパティ です。
表示スタイルやスクロール動作に直結する重要な設定です。

 

WordWrapプロパティとは?

WordWrap プロパティは、テキストをコントロールの幅で自動的に折り返すかどうかを指定します。

  • true(既定値) … 自動的に折り返す(横スクロールバーは非表示)
  • false … 折り返さず、横スクロールバーで閲覧
例:
長い文章を入力したときに1行で表示したいなら WordWrap = false
自然な文書のように折り返して見せたいなら WordWrap = true

 

基本の使い方

デザイナーで設定

  1. RichTextBoxを選択する
  2. プロパティウィンドウで WordWrapTrue または False に変更

コードで設定

// 自動折り返しを有効にする
richTextBox1.WordWrap = true;

// 横スクロールで閲覧したい場合
richTextBox1.WordWrap = false;

 

実用例:ログビューアのような表示

using System;
using System.Windows.Forms;

namespace RichTextBoxWordWrapSample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            richTextBox1.WordWrap = false; // 折り返しを無効化
            richTextBox1.ScrollBars = RichTextBoxScrollBars.Both;

            richTextBox1.Text = "これはとても長いテキストです。"
                + "WordWrapをfalseに設定すると、改行しない限り横に伸びていきます。";
        }
    }
}

このように設定すると、長い文章を横方向にスクロールして読むことができます。
ログ表示やコードビューアのような用途に最適です。

 

ScrollBarsプロパティとの関係

  • WordWrap = true → 横スクロールバーは自動的に非表示
  • WordWrap = false → 横スクロールバーが表示可能
// 両方のスクロールバーを有効にしたい場合
richTextBox1.ScrollBars = RichTextBoxScrollBars.Both;
richTextBox1.WordWrap = false; // 横スクロールを有効にする
💡 ポイント:
WordWrapが有効な状態では、どんなに長い文でも横スクロールバーは表示されません。
行の折り返しを制御したい場合はこの2つをセットで考えましょう。

 

注意点

  • WordWrap = true にしても、テキスト内の改行(\r\n)はそのまま扱われる
  • 大きなテキストを扱う場合、折り返し処理によって描画が遅くなることがある
  • コードやログ表示など、改行を維持したい場合は WordWrap = false を推奨

 

まとめ

  • WordWrap プロパティは自動折り返しのオン/オフを制御する
  • ScrollBars と併用してレイアウトを最適化できる
  • 文書編集なら true、ログ表示なら false が一般的
Please follow and like us:

コメント

タイトルとURLをコピーしました