[C#][Windows Formsアプリ][RichTextBox] Multilineプロパティで複数行入力を可能にする

スポンサーリンク

はじめに

RichTextBoxはデフォルトで複数行入力が可能なテキストボックスです。
この動作を制御するのが Multilineプロパティ です。
TextBoxでは重要な設定項目でしたが、RichTextBoxでは常に有効化されている点に特徴があります。

 

Multilineプロパティとは?

Multiline プロパティは、テキストを複数行に分けて表示・入力できるかを指定します。
TextBoxの場合は true に設定しないと複数行入力できませんが、RichTextBoxでは常に true が既定です。

🔍 つまり:
RichTextBoxは「複数行入力専用」のコントロール。
Multiline = false に設定しても効果はありません。

 

基本の使い方

デザイナーで確認

  1. RichTextBoxをフォームに配置する
  2. プロパティウィンドウで Multiline を確認
  3. 値は常に True に固定されている(変更不可)

コードで確認

bool canMultiLine = richTextBox1.Multiline;
MessageBox.Show("複数行入力が可能か: " + canMultiLine.ToString());

 

実用例:複数行テキスト入力

using System;
using System.Windows.Forms;

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

            // 改行を含むテキストを設定
            richTextBox1.Text = "1行目\n2行目\n3行目";
        }
    }
}

実行すると、RichTextBox上で3行分のテキストがそのまま表示されます。
もちろん、Enterキーで改行して新しい行を追加することも可能です。

 

TextBoxとの違い

  • RichTextBoxは常に複数行モードで動作する(Multiline = True
  • TextBoxでは明示的に Multiline = True にしないと改行できない
  • RichTextBoxではフォントサイズや装飾が行単位で異なることも可能
💡 補足:
TextBoxで改行できない場合、「Enterキーで次のコントロールにフォーカスが移動する」設定が原因のこともありますが、RichTextBoxでは常にEnterで改行が可能です。

 

注意点

  • Multilinefalse に設定しても無視される
  • 行数制限を設けたい場合は、コード側で処理を追加する必要がある
  • テキストの折り返しは WordWrap プロパティで制御する

 

まとめ

  • RichTextBoxは常に複数行入力に対応している
  • Multiline プロパティは読み取り専用的な存在
  • 改行や行ごとの装飾が自由にできる点がTextBoxとの違い
Please follow and like us:

コメント

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