こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

C# 複数コントロールへの一括処理

フォーム上に多数のコントロールがあり、そのコントロールの名前は連番になっています。
コントロールに対して一括して処理を行いたいのです。

例えば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」のエラーが出ます。
何が間違っていますか?

投稿日時 - 2019-10-17 09:34:44

QNo.9668015

困ってます

質問者が選んだベストアンサー

ページを指定してみてください。
((Button)tabControl1.TabPages["TabPage1"].Controls[string.Format("button{0}", index)]).Text = "AAAAAAAAA";

投稿日時 - 2019-10-17 10:38:42

お礼

ありがとうございます!

投稿日時 - 2019-10-17 10:44:17

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)