我为什么不能在Winform中访问comboBox?

时间:2019-12-26 09:44:15

标签: c# windows visual-studio winforms

form1具有三个组合框。在表单中,我尝试创建以下代码。

public partial class Form1 : Form
{
    private List<ComboBox> comboBoxes = new List<ComboBox>() 
    {
        combobox1,combobox2,combobox3
    };
}

我遇到类似

的错误
A field initializer cannot reference the non-static field, method, or property 

但是我可以在函数内部访问这些组合框。我想创建组合框列表。告诉我为什么我无法访问它,以及如何实现它?

2 个答案:

答案 0 :(得分:1)

Compiler Error CS0236:实例字段不能用于初始化方法外的其他实例字段。

您可以在初始化控件后在构造函数中初始化列表:

public partial class Form1 : Form
{
    public Form1()
    {
        //...
        comboBoxes = new List<ComboBox>() { combobox1,combobox2,combobox3 };
    }
}

答案 1 :(得分:1)

您需要在方法中添加控件

        public List<ComboBox> comboBoxes = new List<ComboBox>()

        public Form1()
        {
            InitializeComponent();

            comboBoxes.AddRange(new ComboBox[] {comboBox1, comboBox2, comboBox3});
        }