[C#][Windows Formsアプリ][TextBox] Linesプロパティで複数行のテキストを扱う

スポンサーリンク

はじめに

複数行のTextBoxに入力された内容を、1行ずつ処理したいときに便利なのが
Linesプロパティ です。
文字列を配列(string[])として扱えるため、行単位での処理が簡単に行えます。

 

Linesプロパティとは?

Lines プロパティは、TextBox内の各行を文字列の配列として取得または設定するために使います。

  • 取得 … TextBoxに入力された各行を配列として得られる
  • 設定 … 配列を代入すると、行ごとに表示される
例:TextBoxに「A」「B」「C」と3行入力されている場合、
textBox1.Lines{ "A", "B", "C" } を返します。

 

基本の使い方

行を取得する

string[] lines = textBox1.Lines;
foreach (string line in lines)
{
    Console.WriteLine(line);
}

行を設定する

textBox1.Lines = new string[] { "1行目", "2行目", "3行目" };

 

実用例:入力内容を行番号付きで表示

using System;
using System.Windows.Forms;

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

            textBox1.Multiline = true;
            textBox1.Text = "Apple\r\nBanana\r\nCherry";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string[] lines = textBox1.Lines;
            string result = "";

            for (int i = 0; i < lines.Length; i++)
            {
                result += (i + 1) + "行目: " + lines[i] + "\r\n";
            }

            MessageBox.Show(result);
        }
    }
}

この例では、TextBoxの各行を配列として取得し、行番号付きでまとめて表示します。

 

注意点

  • 利用するには Multiline = true を設定しておく必要がある
  • 空行も要素として含まれる
  • Text プロパティと Lines プロパティは相互に同期している
    Text を変更すると Lines にも反映される

 

TextとLinesの違い

  • Text … 複数行も含めて1つの文字列として扱う
  • Lines … 各行を配列として扱う

用途に応じてどちらを使うか選択しましょう。

 

まとめ

  • Lines プロパティはTextBoxの各行を配列で扱える
  • 行ごとに処理したいときに便利
  • Text と同期しているので状況に応じて使い分け可能

複数行入力を扱う場面では必ず役立つプロパティです。

Please follow and like us:

コメント

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