[C#] labelテキストをプログラムから変更する方法
C#でラベルのテキストをプログラムから変更するには、通常、Windows FormsやWPFアプリケーションでラベルコントロールのText
プロパティを設定します。
例えば、Windows Formsではlabel1.Text = "新しいテキスト";
のように記述します。
WPFの場合は、label1.Content = "新しいテキスト";
を使用します。
これにより、ラベルに表示されるテキストが動的に変更され、ユーザーインターフェースに反映されます。
これらの操作は、イベントハンドラ内やメソッド内で行うことが一般的です。
ラベルテキストの変更方法
ラベルコントロールの追加
C# Windowsフォームアプリケーションでラベルを追加するには、Visual Studioのデザイナーを使用します。
以下の手順でラベルをフォームに追加できます。
- ツールボックスから
Label
コントロールを選択します。 - フォーム上にドラッグ&ドロップします。
- プロパティウィンドウで、ラベルの名前や初期テキストを設定します。
Textプロパティの概要
ラベルの表示テキストは、Text
プロパティを使用して設定します。
このプロパティは、ラベルに表示される文字列を指定するために使用されます。
初期値は空文字列で、プログラムから変更することができます。
プログラムからのテキスト変更手順
プログラムからラベルのテキストを変更するには、以下の手順を実行します。
- ラベルコントロールのインスタンスを作成します。
Text
プロパティに新しい文字列を代入します。
以下は、ラベルのテキストを変更するサンプルコードです。
partial class MyForm : Form
{
private Label myLabel;
public MyForm()
{
InitializeComponent();
// ラベルのインスタンスを作成
myLabel = new Label();
myLabel.Location = new Point(10, 10);
myLabel.Size = new Size(200, 30);
myLabel.Text = "初期テキスト"; // 初期テキストを設定
this.Controls.Add(myLabel);
}
private void ChangeLabelText()
{
// ラベルのテキストを変更
myLabel.Text = "新しいテキスト";
}
}
このコードでは、ChangeLabelTextメソッド
を呼び出すことで、ラベルのテキストを「新しいテキスト」に変更します。
イベントハンドラを使ったテキスト変更
ラベルのテキストをユーザーのアクションに応じて変更するには、イベントハンドラを使用します。
例えば、ボタンをクリックしたときにラベルのテキストを変更することができます。
以下は、ボタンを追加し、そのクリックイベントでラベルのテキストを変更するサンプルコードです。
partial class MyForm : Form
{
private Label myLabel;
private Button myButton;
public MyForm()
{
InitializeComponent();
myLabel = new Label();
myLabel.Location = new Point(10, 10);
myLabel.Size = new Size(200, 30);
myLabel.Text = "初期テキスト";
this.Controls.Add(myLabel);
myButton = new Button();
myButton.Location = new Point(10, 50);
myButton.Size = new Size(100, 30);
myButton.Text = "変更";
myButton.Click += new EventHandler(MyButton_Click); // イベントハンドラを追加
this.Controls.Add(myButton);
}
private void MyButton_Click(object sender, EventArgs e)
{
// ボタンがクリックされたときにラベルのテキストを変更
myLabel.Text = "ボタンがクリックされました";
}
}
このコードでは、ボタンがクリックされると、ラベルのテキストが「ボタンがクリックされました」に変更されます。
実践例:ボタンを使ってラベルを変更
ボタンコントロールの追加
C# Windowsフォームアプリケーションでボタンを追加するには、Visual Studioのデザイナーを使用します。
以下の手順でボタンをフォームに追加できます。
- ツールボックスから
Button
コントロールを選択します。 - フォーム上にドラッグ&ドロップします。
- プロパティウィンドウで、ボタンの名前や初期テキストを設定します。
ボタンクリックイベントの設定
ボタンがクリックされたときに特定の処理を実行するためには、ボタンクリックイベントを設定する必要があります。
以下の手順でイベントを設定できます。
- ボタンを選択し、プロパティウィンドウの「イベント」タブを開きます。
Click
イベントを見つけ、ダブルクリックします。
これにより、イベントハンドラが自動的に生成されます。
以下は、ボタンクリックイベントを設定するサンプルコードです。
partial class MyForm : Form
{
private Label myLabel;
private Button myButton;
public MyForm()
{
InitializeComponent();
myLabel = new Label();
myLabel.Location = new Point(10, 10);
myLabel.Size = new Size(200, 30);
myLabel.Text = "初期テキスト";
this.Controls.Add(myLabel);
myButton = new Button();
myButton.Location = new Point(10, 50);
myButton.Size = new Size(100, 30);
myButton.Text = "変更";
myButton.Click += new EventHandler(MyButton_Click); // イベントハンドラを追加
this.Controls.Add(myButton);
}
private void MyButton_Click(object sender, EventArgs e)
{
// ボタンクリック時の処理
}
}
イベント内でのラベルテキスト変更
ボタンクリックイベント内でラベルのテキストを変更するには、イベントハンドラ内でText
プロパティに新しい文字列を代入します。
以下は、ボタンクリック時にラベルのテキストを変更するサンプルコードです。
private void MyButton_Click(object sender, EventArgs e)
{
// ボタンがクリックされたときにラベルのテキストを変更
myLabel.Text = "ボタンがクリックされました";
}
このコードを追加することで、ボタンがクリックされると、ラベルのテキストが「ボタンがクリックされました」に変更されます。
これにより、ユーザーのアクションに応じて動的にラベルの内容を変更することができます。
応用例
テキストボックスの入力をラベルに反映
ユーザーがテキストボックスに入力した内容をリアルタイムでラベルに反映させることができます。
これにより、ユーザーが入力した内容を即座に確認できるようになります。
以下は、テキストボックスの内容をラベルに反映するサンプルコードです。
partial class MyForm : Form
{
private Label myLabel;
private TextBox myTextBox;
public MyForm()
{
InitializeComponent();
myLabel = new Label();
myLabel.Location = new Point(10, 10);
myLabel.Size = new Size(200, 30);
myLabel.Text = "ここにテキストが表示されます";
this.Controls.Add(myLabel);
myTextBox = new TextBox();
myTextBox.Location = new Point(10, 50);
myTextBox.Size = new Size(200, 30);
myTextBox.TextChanged += new EventHandler(MyTextBox_TextChanged); // イベントハンドラを追加
this.Controls.Add(myTextBox);
}
private void MyTextBox_TextChanged(object sender, EventArgs e)
{
// テキストボックスの内容をラベルに反映
myLabel.Text = myTextBox.Text;
}
}

このコードでは、テキストボックスの内容が変更されるたびに、ラベルのテキストが更新されます。
タイマーを使った定期的なテキスト変更
タイマーを使用して、一定の間隔でラベルのテキストを変更することも可能です。
これにより、動的な情報表示が実現できます。
以下は、タイマーを使ってラベルのテキストを定期的に変更するサンプルコードです。
partial class MyForm : Form
{
private Label myLabel;
private Timer myTimer;
private int counter = 0;
public MyForm()
{
InitializeComponent();
myLabel = new Label();
myLabel.Location = new Point(10, 10);
myLabel.Size = new Size(200, 30);
myLabel.Text = "カウント: 0";
this.Controls.Add(myLabel);
myTimer = new Timer();
myTimer.Interval = 1000; // 1秒ごとに実行
myTimer.Tick += new EventHandler(MyTimer_Tick); // イベントハンドラを追加
myTimer.Start(); // タイマーを開始
}
private void MyTimer_Tick(object sender, EventArgs e)
{
// カウンターを増加させてラベルに表示
counter++;
myLabel.Text = $"カウント: {counter}";
}
}

このコードでは、1秒ごとにカウンターが増加し、その値がラベルに表示されます。
コンボボックス選択によるラベル変更
コンボボックスの選択肢を変更することで、ラベルのテキストを動的に変更することができます。
これにより、ユーザーが選択した内容に応じた情報を表示できます。
以下は、コンボボックスの選択によってラベルのテキストを変更するサンプルコードです。
partial class MyForm : Form
{
private Label myLabel;
private ComboBox myComboBox;
public MyForm()
{
InitializeComponent();
myLabel = new Label();
myLabel.Location = new Point(10, 10);
myLabel.Size = new Size(200, 30);
myLabel.Text = "選択してください";
this.Controls.Add(myLabel);
myComboBox = new ComboBox();
myComboBox.Location = new Point(10, 50);
myComboBox.Size = new Size(200, 30);
myComboBox.Items.Add("選択肢1");
myComboBox.Items.Add("選択肢2");
myComboBox.Items.Add("選択肢3");
myComboBox.SelectedIndexChanged += new EventHandler(MyComboBox_SelectedIndexChanged); // イベントハンドラを追加
this.Controls.Add(myComboBox);
}
private void MyComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
// コンボボックスの選択に応じてラベルのテキストを変更
myLabel.Text = myComboBox.SelectedItem.ToString();
}
}
このコードでは、コンボボックスの選択肢が変更されると、その選択肢がラベルに表示されます。

これにより、ユーザーの選択に基づいた情報を提供することができます。
まとめ
この記事では、C# Windowsフォームプログラミングにおけるラベルテキストの変更方法について詳しく解説しました。
具体的には、ラベルコントロールの追加から、ボタンやテキストボックス、タイマー、コンボボックスを使用したテキスト変更の実践例を紹介しました。
これらの知識を活用することで、ユーザーインターフェースをよりインタラクティブにすることが可能です。
ぜひ、実際のプロジェクトでこれらのテクニックを試してみて、より魅力的なアプリケーションを作成してみてください。