我有一堆用Windows窗体设计器制作的不同的ComboBox,我希望能够通过索引访问它们,以便可以执行以下操作:

for (int i = 0; i < numOfBoxes; i++)
{
    ComboBoxes[i].visible = false;
}


我尝试将它们放在ComboBoxes数组中,但这会创建一个null数组。

private ComboBox[] ComboBoxes;

public MainForm()
{
     ComboBoxes = new ComboBox[] {ComboBox1, ComboBox2, ComboBox3};
}


什么是正确的方法?

最佳答案

您需要确保在调用ComboBox之后创建InitializeComponent数组。

private ComboBox[] ComboBoxes;

public MainForm()
{
     InitializeComponent();
     ComboBoxes = new ComboBox[] {ComboBox1, ComboBox2, ComboBox3};
}


在此之前,所有Windows窗体设计器对象都将为null,因为它们仅首先在InitializeComponent中实例化。

10-02 01:59