c#<windowsForm>Form上のlabel.textの変更
こんにちは。yufinです。
今日は、Form上のlabel.textの変更の仕方です。
labelコントロールは、Formを用いるとき、とても使い勝手の良いコントロールなので、ついついたくさん貼り付けてしまうことがよくあります。
その際、いつもはそれぞれのtextをいちいちGUIのプロパティから変更していましたが、プログラムからやってみました。
上の状況の中で、それぞれのlabelを末尾の数字のみに変更します。
コードです。
private void button1_Click(object sender, EventArgs e)
{
foreach (var item in this.Controls.OfType<Label>())
{
item.Text = item.Name.Substring(5);
}
}
見事できました。
コードについてですが、
相変わらず、まずはOfType<Label>です。対象を限定するのにとても便利です。
続いて、それぞれに対して、末尾の数字を切り取るSubstringメソッドを使用しています。
引数に「5」を使用していますが、とりあえず数字のみにできました。
foreachのなかでint.Parseなんかを使えば、数字を使っていろいろできそうです。