【C#】連番のコントロールを取得する【Windowsフォーム】

20-11-10

どうも。黒蛇です。

今回はWindowsフォームで連番になっているコントロールを取得する方法について書きました。

コントロールの取得

WindowsフォームのコントロールはFindメソッドで取得できます。

Control[] 変数名 = this.Controls.Find(コントロール名, true);

※第2引数はすべての子コントロールを検索する場合は true。それ以外の場合は falseです。
※取得したコントロールは配列になります。

連番になっているコントロールを取得する

上記のFindメソッドとfor文を用いてコントロールを取得します。

for (int i = 1; i <= 3; i++)
{
    Control[] c = this.Controls.Find($"コントロール名{i}", true);
}

実際にコントロールを取得してTextを変えてみる

LabelとButtonを置く

Labelを3つとButtonを1つ置きます。

LabelのNameを連番になるように設定します。
今回は上から順に label[番号] と設定しました。

コードを書く

配置したButtonのClickイベントの部分に以下のようにコードを書きます。

実行する

Buttonをクリックすると以下のようになります。

まとめ

今回はFindメソッドとfor文を用いて連番のコントロールを取得する方法についてご紹介しました。

ご参考になれば幸いです。

では、また。