※ ChatGPTを利用し、要約された質問です(原文:C# 複数コントロールへの一括処理)
C#複数コントロールへの一括処理方法とSystem.NullReferenceExceptionエラーの解決方法
このQ&Aのポイント
C#のフォーム上に連番で名前がついた複数のコントロールがあります。これらのコントロールに対して一括で処理を行いたい場合、タブコントロール内のコードを適切に書き換える必要があります。
例えば、button1からbutton10までのコントロールに対して一括処理を行いたい場合、以下のようにコードを書きます。
しかし、タブコントロール内で同様の処理を行うと「System.NullReferenceException」というエラーが発生することがあります。このエラーは、コントロールが見つからないために発生するものです。エラーの解決方法としては、タブコントロール内のコードを適切に書き換える必要があります。
フォーム上に多数のコントロールがあり、そのコントロールの名前は連番になっています。
コントロールに対して一括して処理を行いたいのです。
例えばbutton1~10まで、フォーム内に対しては下記のコードでいけました。
for (int index = 1; index <= 10; index++)
{
((Button)this.Controls[string.Format("button{0}", index)]).Text = "AAAAAAAAA";
}
これをタブコントロール内にすべて入れ、下記のようにコードを書き換えました。
for (int index = 1; index <= 10; index++)
{
((Button)tabControl1.Controls[string.Format("button{0}",index)]).Text = "AAAAAAAAA";
}
しかし「System.NullReferenceException」のエラーが出ます。
何が間違っていますか?
お礼
ありがとうございます!