如何从字符串中找到组合框?
How can find a combobox from string?
据我所知组合框不是 System.Windows.Forms.Control class
的成员
我用这段代码来查找控件
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;
}
你快到了。只需将找到的控件转换为 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
class 的成员,但它派生自它,这就是您当前代码编译的原因。在访问属于 ComboBox
.
的那些成员和属性之前,您必须将其转换为更派生的类型,在本例中为 ComboBox
据我所知组合框不是 System.Windows.Forms.Control class
的成员我用这段代码来查找控件
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;
}
你快到了。只需将找到的控件转换为 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
class 的成员,但它派生自它,这就是您当前代码编译的原因。在访问属于 ComboBox
.
ComboBox