C#を始めよう|コントロールの特定に変数を使用する

似たような名前のコントロール

例えばフォームにテキストボックスを10個並べました。

名称はtextBox01,textBox02~textBox10です。

Textプロパティを変更するには

this.textBox01.Text = "№1";
this.textBox02.Text = "№2";
this.textBox03.Text = "№3";
this.textBox04.Text = "№4";
this.textBox05.Text = "№5";
this.textBox06.Text = "№6";
this.textBox07.Text = "№7";
this.textBox08.Text = "№8";
this.textBox09.Text = "№9";
this.textBox10.Text = "№10";

このように10行書きます。

かなり面倒なので、forやwhileでループで行います。

Controlsを使ってプロパティを操作する

for文を使って繰り返します。

for (int    i   = 0; i   <   10; i++ )
{
    string  CtlName        =   "textBox" +   string.Format("{0:00}",i   +   1);
    Controls[CtlName].Text =   "№"      +   (   i   +  1   ).ToString();
}

これだけで10個のテキストプロパティを全て変更できます。
コーディングの手間も省けてスッキリ書けます。
テキストプロパティだけでなく色んなことが出来ます。

例えはフォームのコントロールを探すなんてこともできます。
興味があれば調べてみて下さい。

コメント