C# の複数行ラベル

Muhammad Maisam Abbas 2024年2月16日
  1. C# で Label.AutoSize プロパティを使用して複数行ラベルを作成する
  2. C# の Panel メソッドを使用して複数行ラベルを作成する
C# の複数行ラベル

このチュートリアルでは、C# で複数行のラベルを作成する方法を紹介します。

C# で Label.AutoSize プロパティを使用して複数行ラベルを作成する

Label.AutoSize プロパティは、C# で表示されているテキストに合わせてラベルのサイズを自動的に調整できるかどうかを指定します。Label.AutoSize プロパティにはブール値があり、表示されているテキストに合わせてラベルのサイズを自動的に変更する場合は true に設定し、ラベルのサイズを自動的に変更しない場合は false に設定する必要があります。表示されているテキストに合わせます。次に、C# の Control.MaximumSize プロパティを使用してラベルの最大サイズを設定できます。次のコード例は、C# で Label.AutoSize プロパティを使用して複数行のラベルを作成する方法を示しています。

using System;
using System.Drawing;
using System.Windows.Forms;

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

    private void Form1_Load(object sender, EventArgs e) {
      string data = "This is some data that we want to display";
      label1.Text = data;
      label1.AutoSize = true;
      label1.MaximumSize = new Size(50, 0);
    }
  }
}

出力:

C# マルチラインラベル 1

上記のコードでは、C# で Label.AutoSize プロパティと Control.MaximumSize プロパティを使用して複数行のラベルを作成しました。

C# の Panel メソッドを使用して複数行ラベルを作成する

Panel コントロールを使用して、C# で複数行のラベルを作成することもできます。パネル内に目的のラベルを配置してから、パネルの ClientSizeChanged イベントを処理できます。ClientSizeChanged イベントは、パネル内のコントロールのサイズが変更されるたびに呼び出されます。C# の Label.MaximumSize プロパティを使用してラベルのサイズを変更できます。次のコード例は、C# で Panel メソッドを使用して複数行のラベルを作成する方法を示しています。

using System;
using System.Drawing;
using System.Windows.Forms;

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

    private void Form1_Load(object sender, EventArgs e) {
      string data = "This is some data that we want to display";
      label1.Text = data;
      label1.AutoSize = true;
    }

    private void panel1_ClientSizeChanged(object senderObject, EventArgs eventArguments) {
      label1.MaximumSize =
          new Size((senderObject as Control).ClientSize.Width - label1.Left, 10000);
    }
  }
}

出力:

C# マルチラインラベル 2

パネル内にラベルを配置し、C# のパネル内で ClientSizeChanged イベントを処理することにより、上記のコードで複数行のラベルを作成しました。最初に Label.AutoSize プロパティを true に指定し、パネルの ClientSizeChanged イベント内でラベルの最大サイズを指定しました。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

関連記事 - Csharp GUI