我知道combobox不是System.Windows.Forms.Control类的成员
我将此代码用于查找控件
Control ctrFindControl = this.Controls.Find("FindSomething", false)[0];
但如何从字符串中找到一个组合框?
for (int i = 0; i <= cmbAccount1.Items.Count; i++)
{
string txtCategory = "cmbCategory" + i;
Control cmbBoxCategory;
cmbBoxCategory = this.Controls.Find(txtCategory , false)[0];
cmbBoxAccount.Items.Add("a");
cmbBoxAccount.Items.Add("b");
cmbBoxAccount.Items.Add("c");
cmbBoxAccount.SelectedIndex = 0;
}
答案 0 :(得分:2)
你几乎就在那里。只需将找到的控件转换为ComboBox
:
ComboBox cmbBoxCategory = (ComboBox)this.Controls.Find(txtCategory, false)[0];
cmbBoxCategory.Items.Add("a");
cmbBoxCategory.Items.Add("b");
cmbBoxCategory.Items.Add("c");
cmbBoxCategory.SelectedIndex = 0;
ComboBox
不是Control
类的成员,但它是从它派生的,这就是您当前代码编译的原因。您必须先将其转换为更多派生类型,在本例中为ComboBox
,然后才能访问属于ComboBox
的成员和属性。