如何将 Windows 表单设计器生成的组合框放入数组中

How to put Combo Boxes generated by the Windows Form Designer in an array

我有一堆不同的组合框,它们是用 windows 表单设计器制作的我希望能够通过索引访问它们,这样我就可以做这样的事情:

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

我尝试将它们放入组合框数组中,但这会创建一个空值数组。

private ComboBox[] ComboBoxes;

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

正确的做法是什么?

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

private ComboBox[] ComboBoxes;

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

在此之前,所有 windows 表单设计器对象都将为空,因为它们仅在 InitializeComponent.

中首次实例化