2017-11-04 14 views
-1

文字列を使用してGroupBox名を参照したいとします。C#文字列を使用してGroupBoxを参照するにはどうすればよいですか?

私のコードは、現在動作します。このコード行を変更したい:

Line1.buttonName.BackgroundImage = CircleColours[i]; 

Line1はGrouBoxの名前です。 Line1を文字列に変更したいと考えています。このように:

string groupBoxName = "Line1"; 
groupBoxName.buttonName.BackgroundImage = CircleColours[i]; 

私はこれを行うときにコードは機能しません。私は何を変更する必要がありますか?

答えて

1

groupBoxNameは単なる文字列であり、これらのプロパティは文字列に存在しないため、現在実行しようとしているものは機能しません。

Formのコントロールのコレクションを検索する必要があります。それは子コントロール内に埋め込まれています場合

string groupBoxName = "Line1"; 
GroupBox groupBox = (GroupBox)Controls[groupBoxName]; 
groupBox.buttonName.BackgroundImage = CircleColours[i]; 

、あなたの代わりにFind()メソッドを使用するとよいでしょう:

string groupBoxName = "Line1"; 
GroupBox groupBox = (GroupBox)Controls.Find("groupBoxName", true)[0]; 
groupBox.buttonName.BackgroundImage = CircleColours[i];  
関連する問題