はじめに
RichTextBoxはデフォルトで複数行入力が可能なテキストボックスです。
この動作を制御するのが Multilineプロパティ です。
TextBoxでは重要な設定項目でしたが、RichTextBoxでは常に有効化されている点に特徴があります。
Multilineプロパティとは?
Multiline プロパティは、テキストを複数行に分けて表示・入力できるかを指定します。
TextBoxの場合は true に設定しないと複数行入力できませんが、RichTextBoxでは常に true が既定です。
🔍 つまり:
RichTextBoxは「複数行入力専用」のコントロール。
RichTextBoxは「複数行入力専用」のコントロール。
Multiline = false に設定しても効果はありません。
基本の使い方
デザイナーで確認
- RichTextBoxをフォームに配置する
- プロパティウィンドウで
Multilineを確認 - 値は常に
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で改行が可能です。
TextBoxで改行できない場合、「Enterキーで次のコントロールにフォーカスが移動する」設定が原因のこともありますが、RichTextBoxでは常にEnterで改行が可能です。
注意点
Multilineをfalseに設定しても無視される- 行数制限を設けたい場合は、コード側で処理を追加する必要がある
- テキストの折り返しは
WordWrapプロパティで制御する
まとめ
- RichTextBoxは常に複数行入力に対応している
Multilineプロパティは読み取り専用的な存在- 改行や行ごとの装飾が自由にできる点がTextBoxとの違い
Please follow and like us:

コメント