2011-07-15 13 views
-1

文字列でコンボボックスを取得する必要があります。働いていない。文字列を変数名に変換する

for (int i = 0; i < Slots.Count; i++) 
     { 
      var field = (ComboBox)this.GetType().GetField("cbSlots" + i).GetValue(this); 
      field.DataSource = Slots[i.ToString()]; 
     } 
+4

これ以上の詳細を提供する必要があります。 – Justin

+0

@Kragen、これは? – Mediator

答えて

2

私はあなたのフォームから、質問を理解していれば、あなたが文字列としてその名前を使用してComboBoxにアクセスしようとしているので、あなたはthis.Controlsで、そのために見る必要がある場合は、あなたが

this.Controls.Find("name_of_your_combobox"); 
+0

構文は 'this.FindControl(" name_of_your_combobox ")' – Magnus

+0

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.controlcollection.find.aspx –

+0

あなたの権利、私の間違い。 WebControlsだと思った。 – Magnus

0

を行うことができますあなたのように:

ComboBox myCombo = (ComboBox)this.Controls["cbSlots" + i.ToString()]; 
関連する問題