C#のLabel(ラベル)完全ガイド|表示・改行・文字色・クリックイベントまで初心者向けに解説

はじめに

C#でWindowsアプリを作成するとき、画面に文字を表示するためによく使われるのが「Label(ラベル)」です。Labelは、ユーザーに説明文やメッセージ、入力項目の名前、エラー内容、ステータスなどを表示するための基本的なコントロールです。

C#のラベルは一見シンプルですが、文字の変更、改行、文字色の変更、背景色の設定、クリックイベントの追加など、実際のアプリ開発ではさまざまな場面で活用されます。

この記事では、C#初心者向けにWindows FormsのLabelコントロールを中心として、基本的な使い方から実用的なサンプルコード、表示されないときの対処法までわかりやすく解説します。

1. C#のLabel(ラベル)とは?初心者向けに基本を解説

1-1. Labelコントロールの役割

C#のLabelコントロールは、フォーム上に文字を表示するための部品です。たとえば、名前を入力するTextBoxの横に「名前:」と表示したり、処理結果として「保存しました」と表示したりするときに使います。

Labelはユーザーが直接入力するためのコントロールではなく、基本的には情報を表示するためのコントロールです。

C#
label1.Text = "こんにちは、C#のLabelです";

このように、Textプロパティに文字列を設定することで、画面上のラベルに文字を表示できます。

1-2. TextBoxやButtonとの違い

Label、TextBox、Buttonはどれも画面上に配置できるコントロールですが、役割が異なります。

Labelは文字を表示するためのコントロールです。TextBoxはユーザーが文字を入力するためのコントロールです。Buttonはクリックして処理を実行するためのコントロールです。

たとえば、ログイン画面では「ユーザー名:」という説明にはLabelを使い、実際にユーザー名を入力する欄にはTextBoxを使い、ログイン処理を実行する部分にはButtonを使います。

C#
label1.Text = "ユーザー名:";
textBox1.Text = "";
button1.Text = "ログイン";

このように、それぞれのコントロールには明確な役割があります。

1-3. Labelがよく使われる場面

C#のラベルは、次のような場面でよく使われます。

入力欄の説明として「名前」「住所」「メールアドレス」などを表示する場合や、ボタンを押した後の結果として「登録が完了しました」と表示する場合に使います。また、エラーメッセージや警告メッセージ、現在のステータス、カウント数、時刻などを表示する場合にも便利です。

たとえば、以下のように処理結果をLabelに表示できます。

C#
labelMessage.Text = "データを保存しました。";

ユーザーに現在の状態を伝える目的で、Labelは非常によく使われます。

1-4. Windows FormsのLabelを中心に解説する前提

この記事では、C#のWindows Formsアプリケーションで使うLabelコントロールを中心に解説します。

C#にはWindows Forms以外にも、WPF、ASP.NET、MAUIなどさまざまな開発環境があります。それぞれにLabelに似た表示部品がありますが、プロパティ名や使い方が少し異なります。

この記事で扱う主な対象は、Visual Studioで作成するWindows FormsアプリのLabelです。

C#
using System;
using System.Drawing;
using System.Windows.Forms;

Windows Formsでは、System.Windows.Forms.Labelクラスを使ってラベルを扱います。

2. C#でLabelを表示する基本手順

2-1. Visual StudioでLabelをフォームに配置する方法

Visual StudioでWindows Formsアプリを作成すると、フォームデザイナーを使ってLabelを簡単に配置できます。

まず、フォームをデザイナーで開きます。次に、ツールボックスから「Label」を探し、フォーム上にドラッグ&ドロップします。配置されたLabelは、最初は「label1」などの名前で作成されます。

Labelをクリックすると、右側のプロパティウィンドウから文字やサイズ、色などを変更できます。初心者の場合は、まずデザイナーで配置してからプロパティを変更する方法がわかりやすいです。

2-2. プロパティから文字を設定する方法

フォームに配置したLabelの表示文字は、Textプロパティで設定できます。

Visual Studioのデザイナー上でLabelを選択し、プロパティウィンドウの「Text」に表示したい文字を入力します。

たとえば、Textプロパティに以下のように入力します。

C#
名前:

すると、フォーム上のLabelに「名前:」と表示されます。

コードを書かなくても、固定の説明文であればプロパティから設定するだけで十分です。

2-3. コードでLabelのTextを変更する方法

アプリの動作中にLabelの文字を変更したい場合は、コードからTextプロパティを変更します。

C#
label1.Text = "処理が完了しました";

たとえば、ボタンをクリックしたときにLabelの文字を変更する場合は、次のように書きます。

C#
private void button1_Click(object sender, EventArgs e)
{
label1.Text = "ボタンがクリックされました";
}

このようにすることで、ユーザー操作に応じて画面のメッセージを変更できます。

2-4. Labelの表示・非表示を切り替える方法

Labelを一時的に非表示にしたい場合は、Visibleプロパティを使います。

C#
label1.Visible = false;

再び表示したい場合は、trueを設定します。

C#
label1.Visible = true;

たとえば、エラーがあるときだけメッセージを表示したい場合は、以下のように使えます。

C#
if (textBox1.Text == "")
{
labelError.Text = "名前を入力してください";
labelError.Visible = true;
}
else
{
labelError.Visible = false;
}

エラーメッセージ用のLabelでは、Visibleを使って表示と非表示を切り替える方法がよく使われます。

3. Labelの文字表示をカスタマイズする方法

3-1. 文字サイズを変更する方法

Labelの文字サイズは、Fontプロパティで変更できます。

C#
label1.Font = new Font("Meiryo", 14);

この例では、フォントを「Meiryo」、文字サイズを14に設定しています。

現在のフォント名をそのまま使い、サイズだけ変更したい場合は次のように書けます。

C#
label1.Font = new Font(label1.Font.FontFamily, 16);

画面の見やすさを調整したいときは、Labelの文字サイズを適切に変更しましょう。

3-2. フォントを変更する方法

Labelのフォントは、Fontクラスを使って指定します。

C#
label1.Font = new Font("Yu Gothic UI", 12);

日本語を扱うアプリでは、「Meiryo」「Yu Gothic UI」などがよく使われます。

ただし、指定したフォントが実行環境に存在しない場合、別のフォントで表示されることがあります。多くの環境で使うアプリでは、一般的なフォントを指定するのが安全です。

3-3. 太字・斜体・下線を設定する方法

Labelの文字を太字にしたい場合は、FontStyle.Boldを指定します。

C#
label1.Font = new Font("Meiryo", 12, FontStyle.Bold);

斜体にしたい場合は、FontStyle.Italicを使います。

C#
label1.Font = new Font("Meiryo", 12, FontStyle.Italic);

下線を付けたい場合は、FontStyle.Underlineを使います。

C#
label1.Font = new Font("Meiryo", 12, FontStyle.Underline);

複数のスタイルを組み合わせることもできます。

C#
label1.Font = new Font("Meiryo", 12, FontStyle.Bold | FontStyle.Underline);

重要なメッセージやクリック可能に見せたいラベルでは、太字や下線を使うと目立たせやすくなります。

3-4. 文字の配置を変更する方法

Label内の文字の配置は、TextAlignプロパティで変更できます。

C#
label1.TextAlign = ContentAlignment.MiddleCenter;

この例では、Labelの中央に文字を表示します。

左寄せにしたい場合は、以下のように指定します。

C#
label1.TextAlign = ContentAlignment.MiddleLeft;

右寄せにしたい場合は、以下のように指定します。

C#
label1.TextAlign = ContentAlignment.MiddleRight;

TextAlignは、Labelのサイズが文字より大きい場合に特に効果がわかりやすくなります。

3-5. AutoSizeでサイズを自動調整する方法

LabelにはAutoSizeプロパティがあります。AutoSizeをtrueにすると、表示する文字の長さに合わせてLabelのサイズが自動調整されます。

C#
label1.AutoSize = true;
label1.Text = "文字の長さに合わせてサイズが変わります";

一方、Labelの幅や高さを固定したい場合は、AutoSizeをfalseにします。

C#
label1.AutoSize = false;
label1.Size = new Size(200, 50);

文字を中央揃えにしたい場合や、複数行の表示領域を確保したい場合は、AutoSizeをfalseにしてSizeを指定することがよくあります。

4. Labelで改行する方法

4-1. \nで改行する方法

C#のLabelで改行したい場合は、文字列の中に\nを入れます。

C#
label1.Text = "1行目\n2行目";

このコードを実行すると、Labelには次のように表示されます。

1行目
2行目

短い文字列であれば、\nを使うだけで簡単に改行できます。

4-2. Environment.NewLineで改行する方法

より環境に合わせた改行を使いたい場合は、Environment.NewLineを使います。

C#
label1.Text = "1行目" + Environment.NewLine + "2行目";

文字列補間を使う場合は、次のように書けます。

C#
label1.Text = $"名前:山田太郎{Environment.NewLine}年齢:25歳";

Windows Formsアプリでは\nでも改行できることが多いですが、読みやすさや環境依存を考えると、Environment.NewLineを使う方法もおすすめです。

4-3. 複数行表示で注意すべきポイント

Labelで複数行を表示する場合は、Labelの高さが十分にあるか確認しましょう。

AutoSizeがtrueの場合、文字に合わせてサイズが自動調整されます。しかし、AutoSizeをfalseにしている場合、Labelの高さが足りないと文字が見切れることがあります。

C#
label1.AutoSize = false;
label1.Size = new Size(200, 60);
label1.Text = "1行目\n2行目\n3行目";

複数行のLabelを使うときは、TextだけでなくSizeの設定も重要です。

4-4. Labelの幅と高さを調整する方法

Labelの幅と高さはSizeプロパティで指定できます。

C#
label1.AutoSize = false;
label1.Size = new Size(250, 80);

幅だけを広くしたい場合は、Widthプロパティを使うこともできます。

C#
label1.Width = 300;

高さだけを変更したい場合は、Heightプロパティを使います。

C#
label1.Height = 100;

長い文章を表示する場合は、Labelの幅を広げたり、複数行にしたりして、読みやすい表示になるように調整しましょう。

5. Labelの文字色・背景色を変更する方法

5-1. ForeColorで文字色を変更する方法

Labelの文字色は、ForeColorプロパティで変更できます。

C#
label1.ForeColor = Color.Red;

この例では、Labelの文字色を赤に設定しています。

成功メッセージは緑、エラーメッセージは赤、注意メッセージはオレンジ系にするなど、色を使うことでユーザーに状態を伝えやすくなります。

5-2. BackColorで背景色を変更する方法

Labelの背景色は、BackColorプロパティで変更できます。

C#
label1.BackColor = Color.Yellow;

背景色を設定すると、Labelを目立たせることができます。

透明に近い見た目に戻したい場合は、親コントロールと同じ背景色を設定することが一般的です。

C#
label1.BackColor = this.BackColor;

ただし、完全な透明表示が必要な場合は、配置先や描画方法によって見え方が変わることがあります。

5-3. Color.Redなど定義済みカラーを使う方法

C#では、Color.RedColor.Blueのような定義済みカラーを使えます。

C#
label1.ForeColor = Color.Blue;
label1.BackColor = Color.LightGray;

よく使う色は名前で指定できるため、初心者にもわかりやすいです。

C#
labelSuccess.ForeColor = Color.Green;
labelError.ForeColor = Color.Red;
labelWarning.ForeColor = Color.Orange;

メッセージの種類に応じて色を変えると、ユーザーにとってわかりやすい画面になります。

5-4. RGB指定で色を細かく設定する方法

定義済みカラーではなく、RGBで細かく色を指定することもできます。

C#
label1.ForeColor = Color.FromArgb(255, 0, 0);

この例では、赤を指定しています。

背景色もRGBで指定できます。

C#
label1.BackColor = Color.FromArgb(240, 240, 240);

デザインに合わせて微妙な色を指定したい場合は、Color.FromArgbを使うと便利です。

5-5. 状態に応じて色を切り替える方法

Labelの色は、条件によって切り替えることができます。

C#
int score = 80;

if (score >= 60)
{
labelResult.Text = "合格";
labelResult.ForeColor = Color.Green;
}
else
{
labelResult.Text = "不合格";
labelResult.ForeColor = Color.Red;
}

エラーがあるときだけ赤くする例は以下の通りです。

C#
if (textBox1.Text == "")
{
labelMessage.Text = "入力してください";
labelMessage.ForeColor = Color.Red;
}
else
{
labelMessage.Text = "入力OKです";
labelMessage.ForeColor = Color.Green;
}

状態に応じてLabelの文字や色を変えることで、画面の使いやすさが大きく向上します。

6. Labelのクリックイベントを使う方法

6-1. Clickイベントとは

Labelは表示用のコントロールですが、クリックイベントを使うこともできます。

Clickイベントとは、ユーザーがLabelをクリックしたときに実行される処理のことです。

C#
private void label1_Click(object sender, EventArgs e)
{
MessageBox.Show("ラベルがクリックされました");
}

通常のボタンほど目立つ操作には向きませんが、リンク風の表示や補足説明の表示などに使うことがあります。

6-2. デザイナーからクリックイベントを追加する方法

Visual StudioのデザイナーからClickイベントを追加するには、まずフォーム上のLabelを選択します。

次に、プロパティウィンドウの雷マークをクリックして、イベント一覧を表示します。その中から「Click」を探し、ダブルクリックします。

すると、コード画面に次のようなイベントメソッドが自動作成されます。

C#
private void label1_Click(object sender, EventArgs e)
{
}

この中に、クリック時に実行したい処理を書きます。

C#
private void label1_Click(object sender, EventArgs e)
{
MessageBox.Show("詳しい説明を表示します");
}

6-3. コードでClickイベントを追加する方法

デザイナーを使わずに、コードからClickイベントを追加することもできます。

C#
label1.Click += label1_Click;

イベントメソッドは次のように用意します。

C#
private void label1_Click(object sender, EventArgs e)
{
MessageBox.Show("Labelがクリックされました");
}

また、ラムダ式を使って簡単に書くこともできます。

C#
label1.Click += (sender, e) =>
{
MessageBox.Show("クリックされました");
};

動的にLabelを作成する場合は、コードでイベントを追加する方法がよく使われます。

6-4. Labelをリンク風に見せる方法

Labelをリンクのように見せたい場合は、文字色を青にして下線を付けるとわかりやすくなります。

C#
labelLink.Text = "詳しくはこちら";
labelLink.ForeColor = Color.Blue;
labelLink.Font = new Font(labelLink.Font, FontStyle.Underline);
labelLink.Cursor = Cursors.Hand;

さらに、クリック時にWebサイトを開くこともできます。

C#
private void labelLink_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start(
new System.Diagnostics.ProcessStartInfo
{
FileName = "https://example.com",
UseShellExecute = true
});
}

リンクとして使うことが主目的であれば、Windows FormsにはLinkLabelという専用コントロールもあります。

6-5. クリック時に処理を実行するサンプル

次のサンプルでは、Labelをクリックするとメッセージが変わります。

C#
private void Form1_Load(object sender, EventArgs e)
{
label1.Text = "ここをクリックしてください";
label1.ForeColor = Color.Blue;
label1.Font = new Font(label1.Font, FontStyle.Underline);
label1.Cursor = Cursors.Hand;

label1.Click += label1_Click;
}

private void label1_Click(object sender, EventArgs e)
{
label1.Text = "クリックされました";
label1.ForeColor = Color.Green;
}

このように、Labelは単なる文字表示だけでなく、クリック操作にも対応できます。

7. Labelの位置・サイズ・見た目を調整する方法

7-1. Locationで表示位置を指定する方法

Labelの表示位置は、Locationプロパティで指定します。

C#
label1.Location = new Point(20, 30);

この例では、フォームの左上から横20ピクセル、縦30ピクセルの位置にLabelを配置します。

Pointを使うためには、以下の名前空間が必要です。

C#
using System.Drawing;

デザイナーで配置する場合はマウス操作で位置を決められますが、コードで動的に配置したい場合はLocationを使います。

7-2. Sizeで大きさを指定する方法

Labelの大きさは、Sizeプロパティで指定します。

C#
label1.AutoSize = false;
label1.Size = new Size(200, 40);

AutoSizeがtrueのままだと、Sizeを指定しても文字に合わせて自動調整されることがあります。サイズを固定したい場合は、AutoSizeをfalseにしてからSizeを指定しましょう。

C#
label1.AutoSize = false;
label1.Width = 250;
label1.Height = 50;

長い文字や複数行を表示する場合は、Labelのサイズを十分に確保することが大切です。

7-3. BorderStyleで枠線を付ける方法

Labelに枠線を付けたい場合は、BorderStyleプロパティを使います。

C#
label1.BorderStyle = BorderStyle.FixedSingle;

立体的な枠線にしたい場合は、Fixed3Dを指定します。

C#
label1.BorderStyle = BorderStyle.Fixed3D;

枠線なしに戻したい場合は、Noneを指定します。

C#
label1.BorderStyle = BorderStyle.None;

値やステータスを表示するLabelでは、枠線を付けることで見やすくなることがあります。

7-4. PaddingやMarginで余白を調整する方法

Labelの内側の余白はPaddingで調整できます。

C#
label1.Padding = new Padding(10);

上下左右で個別に指定することもできます。

C#
label1.Padding = new Padding(10, 5, 10, 5);

一方、Marginは他のコントロールとの外側の余白を指定します。

C#
label1.Margin = new Padding(5);

PaddingはLabelの中の文字と枠の間隔、MarginはLabelと周囲のコントロールの間隔と考えるとわかりやすいです。

7-5. DockやAnchorで画面サイズ変更に対応する方法

フォームのサイズ変更に合わせてLabelの位置やサイズを調整したい場合は、DockやAnchorを使います。

Anchorを使うと、フォームの端との距離を保つことができます。

C#
label1.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;

この設定では、Labelが上・左・右に固定され、フォームの横幅が変わるとLabelの幅も変わります。

Dockを使うと、親コントロールの上部や下部などに固定できます。

C#
label1.Dock = DockStyle.Top;

ステータスメッセージを画面下部に表示したい場合は、DockStyle.Bottomを使うこともあります。

C#
labelStatus.Dock = DockStyle.Bottom;

画面サイズが変わるアプリでは、DockやAnchorを使うとレイアウトが崩れにくくなります。

8. Labelの実用サンプルコード

8-1. ボタンを押すとLabelの文字が変わるサンプル

次のサンプルでは、ボタンを押すとLabelの文字が変わります。

C#
private void button1_Click(object sender, EventArgs e)
{
label1.Text = "ボタンが押されました";
}

さらに、文字色も同時に変えることができます。

C#
private void button1_Click(object sender, EventArgs e)
{
label1.Text = "処理が完了しました";
label1.ForeColor = Color.Green;
}

処理結果をユーザーに伝える基本的な使い方です。

8-2. 入力内容をLabelに表示するサンプル

TextBoxに入力された内容をLabelに表示する例です。

C#
private void button1_Click(object sender, EventArgs e)
{
labelResult.Text = textBox1.Text;
}

名前を表示する場合は、次のように書けます。

C#
private void button1_Click(object sender, EventArgs e)
{
labelResult.Text = "こんにちは、" + textBoxName.Text + "さん";
}

文字列補間を使うと、より読みやすく書けます。

C#
private void button1_Click(object sender, EventArgs e)
{
labelResult.Text = $"こんにちは、{textBoxName.Text}さん";
}

入力フォームの確認画面や結果表示でよく使うパターンです。

8-3. エラーや警告メッセージをLabelに表示するサンプル

入力チェックを行い、未入力の場合にエラーメッセージを表示するサンプルです。

C#
private void buttonSubmit_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(textBoxName.Text))
{
labelMessage.Text = "名前を入力してください";
labelMessage.ForeColor = Color.Red;
labelMessage.Visible = true;
return;
}

labelMessage.Text = "登録しました";
labelMessage.ForeColor = Color.Green;
labelMessage.Visible = true;
}

エラーは赤、成功は緑のように色を分けると、ユーザーが状態を理解しやすくなります。

8-4. カウントやステータスをLabelに表示するサンプル

カウント数をLabelに表示する例です。

C#
private int count = 0;

private void buttonCount_Click(object sender, EventArgs e)
{
count++;
labelCount.Text = $"クリック回数:{count}";
}

ステータス表示の例は以下の通りです。

C#
private void buttonStart_Click(object sender, EventArgs e)
{
labelStatus.Text = "処理中...";
labelStatus.ForeColor = Color.Blue;

// ここに処理を書く

labelStatus.Text = "完了しました";
labelStatus.ForeColor = Color.Green;
}

Labelは、アプリの状態をリアルタイムに表示する用途にも向いています。

9. Labelが表示されない・反映されないときの原因と対処法

9-1. Textが空になっている

Labelが表示されないとき、まず確認したいのがTextプロパティです。

C#
label1.Text = "";

このように空文字が設定されていると、Label自体は存在していても文字は表示されません。

対処法として、Textに表示したい文字が入っているか確認しましょう。

C#
label1.Text = "表示テスト";

デザイナー上でも、プロパティウィンドウのTextが空になっていないか確認してください。

9-2. ForeColorとBackColorが同じになっている

文字色と背景色が同じだと、Labelの文字が見えなくなります。

C#
label1.ForeColor = Color.White;
label1.BackColor = Color.White;

この場合、文字は表示されていますが背景と同化して見えません。

対処法として、文字色と背景色に違いを付けます。

C#
label1.ForeColor = Color.Black;
label1.BackColor = Color.White;

Labelが見えないときは、色の設定も確認しましょう。

9-3. AutoSizeやSizeの設定で文字が見切れている

AutoSizeをfalseにしている場合、Labelのサイズが小さすぎると文字が見切れることがあります。

C#
label1.AutoSize = false;
label1.Size = new Size(30, 10);
label1.Text = "長いメッセージです";

このような場合は、Sizeを大きくします。

C#
label1.Size = new Size(200, 40);

または、AutoSizeをtrueにします。

C#
label1.AutoSize = true;

複数行表示や長い文字列では、Labelの幅と高さを十分に確保しましょう。

9-4. Visibleがfalseになっている

Visibleプロパティがfalseの場合、Labelは表示されません。

C#
label1.Visible = false;

表示したい場合はtrueにします。

C#
label1.Visible = true;

エラーメッセージ用のLabelなどでは、初期状態で非表示にしていることがあります。表示されない場合は、Visibleの状態を確認しましょう。

9-5. 別のコントロールに隠れている

Labelの上にPanelやPictureBox、他のLabelなどが重なっていると、Labelが隠れて見えないことがあります。

この場合は、Labelを前面に移動します。

C#
label1.BringToFront();

逆に、他のコントロールを背面に移動することもできます。

C#
panel1.SendToBack();

デザイナー上で配置を調整する場合は、右クリックメニューから「最前面へ移動」や「最背面へ移動」を使います。

9-6. UIスレッド以外から更新している

別スレッドからLabelを更新しようとすると、エラーになったり表示が反映されなかったりすることがあります。

Windows Formsでは、画面のコントロールは基本的にUIスレッドから更新する必要があります。

別スレッドからLabelを更新する場合は、Invokeを使います。

C#
this.Invoke(new Action(() =>
{
labelStatus.Text = "処理が完了しました";
}));

非同期処理やバックグラウンド処理を使っている場合、Labelの更新がうまくいかない原因としてUIスレッドの問題を疑いましょう。

10. C#のLabelでよくある質問

10-1. Labelに入力はできる?

Labelは表示用のコントロールなので、ユーザーが直接文字を入力することはできません。

ユーザーに文字を入力してもらいたい場合は、TextBoxを使います。

C#
string input = textBox1.Text;
label1.Text = input;

入力欄にはTextBox、説明や結果表示にはLabelを使うのが基本です。

10-2. Labelで一部の文字だけ色を変えられる?

Windows Formsの標準Labelでは、1つのLabel内で一部の文字だけ色を変えることは基本的にできません。

たとえば、「エラー:入力してください」のうち「エラー:」だけ赤くするような表示は、標準Label単体では難しいです。

対処法としては、複数のLabelを並べる方法があります。

C#
labelTitle.Text = "エラー:";
labelTitle.ForeColor = Color.Red;

labelDetail.Text = "入力してください";
labelDetail.ForeColor = Color.Black;

より複雑な装飾をしたい場合は、RichTextBoxなどの別コントロールを検討します。

10-3. Labelを中央揃えにするには?

Labelの文字を中央揃えにするには、TextAlignプロパティを使います。

C#
label1.TextAlign = ContentAlignment.MiddleCenter;

ただし、Labelのサイズが文字と同じくらいだと中央揃えの効果がわかりにくいです。中央揃えを明確にしたい場合は、AutoSizeをfalseにしてサイズを指定します。

C#
label1.AutoSize = false;
label1.Size = new Size(200, 50);
label1.TextAlign = ContentAlignment.MiddleCenter;

これで、Labelの領域内で文字が中央に表示されます。

10-4. Labelをリンクのように使うには?

Labelをリンクのように見せるには、文字色を青にし、下線を付け、カーソルを手の形にします。

C#
labelLink.ForeColor = Color.Blue;
labelLink.Font = new Font(labelLink.Font, FontStyle.Underline);
labelLink.Cursor = Cursors.Hand;

クリックイベントを追加すれば、クリック時に処理を実行できます。

C#
private void labelLink_Click(object sender, EventArgs e)
{
MessageBox.Show("リンク風のLabelがクリックされました");
}

ただし、リンクとしての機能をしっかり持たせたい場合は、LinkLabelコントロールを使う方法もあります。

10-5. WPFやASP.NETのLabelとの違いは?

Windows Forms、WPF、ASP.NETにはそれぞれLabelに似たコントロールがありますが、使い方は異なります。

Windows FormsのLabelは、フォーム上に文字を表示するためのコントロールです。この記事で解説しているlabel1.TextForeColorBackColorなどはWindows Formsでよく使う書き方です。

WPFでは、LabelやTextBlockを使って文字を表示します。XAMLで見た目を定義することが多く、Windows Formsとはプロパティやレイアウトの考え方が異なります。

ASP.NETでは、Webページ上に文字を表示するためのLabelコントロールがあります。サーバー側でTextを設定し、HTMLとしてブラウザに表示されます。

同じC#でも、開発するアプリの種類によってLabelの使い方は変わります。初心者がWindowsアプリを作る場合は、まずWindows FormsのLabelから覚えると理解しやすいです。

まとめ

C#のLabel(ラベル)は、Windows Formsアプリで文字を表示するための基本的なコントロールです。入力欄の説明、処理結果、エラーメッセージ、ステータス表示など、さまざまな場面で使われます。

Labelの文字はTextプロパティで設定し、ForeColorで文字色、BackColorで背景色、Fontで文字サイズやフォントを変更できます。また、\nEnvironment.NewLineを使えば改行表示も可能です。

クリックイベントを追加すれば、Labelをクリックしたときに処理を実行することもできます。リンク風に見せたい場合は、文字色を青にし、下線を付け、CursorをHandにするとわかりやすくなります。

Labelが表示されない場合は、Textが空になっていないか、Visibleがfalseになっていないか、文字色と背景色が同じになっていないか、サイズが小さすぎないかを確認しましょう。

C#のラベルはシンプルですが、使いこなせるようになると画面の見やすさや操作性を大きく向上できます。まずはTextの変更、色の変更、改行、クリックイベントなどの基本から実際に試してみましょう。