WinFormsアプリケーションでのテキストボックスにおける改行コードの扱い方

2024年8月27日

1. 改行コードについて

改行コードは、環境によって異なりますが、主に以下の2つが使用されます。

  • Windows\r\n (キャリッジリターン + ラインフィード)
  • Unix系(Linux, macOS)\n (ラインフィード)

2. テキストボックスの設定

テキストボックスで複数行を表示・編集するには、Multilineプロパティをtrueに設定する必要があります。

textBox.Multiline = true;

3. 改行コードを含むテキストの設定

テキストボックスに改行を含むテキストを設定するには、適切な改行コードを使用します。例えば、Windows環境であれば以下のようにします。

textBox.Text = "Line 1\r\nLine 2\r\nLine 3";

4. 環境に依存しない改行コードの使用

Environment.NewLineを使用すると、環境に依存しない改行コードを挿入できます。

textBox.Text += Environment.NewLine + "New Line";

5. サンプルコード

以下に、テキストボックスで改行を扱う簡単なWinFormsアプリケーションのサンプルコードを示します。

using System;
using System.Windows.Forms;

namespace WinFormsApp
{
    public class MainForm : Form
    {
        private TextBox textBox;

        public MainForm()
        {
            // TextBoxの初期化
            textBox = new TextBox();
            textBox.Multiline = true; // 複数行モードを有効化
            textBox.Width = 300;
            textBox.Height = 200;
            textBox.Text = "Line 1\r\nLine 2\r\nLine 3"; // 改行を含むテキストを設定

            // TextBoxをフォームに追加
            Controls.Add(textBox);
        }
    }
}

6. 実行結果

このサンプルコードを実行すると、以下のようにテキストボックスに複数行のテキストが表示されます。

Line 1
Line 2
Line 3

テキストボックスに新たに改行を追加したい場合、次のようにコードを追加します。

textBox.Text += Environment.NewLine + "New Line";

これにより、実行環境に依存しない形で改行を含むテキストを設定することができます。