C#;列表框';s作为一个对象(容器)

C#;列表框';s作为一个对象(容器),c#,listbox,C#,Listbox,我使用Visual studio 2008 我在表单上有5个列表框,我创建了一个新的类文件-称他为“scaner.cs” scaner.cs-他看不到“列表框” 我已经创建了一个实例。 扫描仪组件=新扫描仪(列表框2、列表框1、列表框3、列表框4、列表框5); 在scaner.cs文件中,我这样使用它 class scaner { public ListBox ls; public ListBox lsE; public ListBox

我使用Visual studio 2008
我在表单上有5个列表框,我创建了一个新的类文件-称他为“scaner.cs”

scaner.cs-他看不到“列表框”

我已经创建了一个实例。

扫描仪组件=新扫描仪(列表框2、列表框1、列表框3、列表框4、列表框5);

在scaner.cs文件中,我这样使用它

class scaner { public ListBox ls; public ListBox lsE; public ListBox lsIVars; public ListBox lsNumbers; public ListBox lsStrings; public scaner(ListBox ls, ListBox lsE, ListBox lsIVars, ListBox lsNumbers, ListBox lsStrings) { this.ls = ls; this.lsE = lsE; this.lsIVars = lsIVars; this.lsNumbers = lsNumbers; this.lsStrings = lsStrings; } } 类扫描 { 公共列表框ls; 公共列表框lsE; 公共列表框lsivar; 公共列表框编号; 公共列表框lsstring; 公共扫描程序(列表框ls、列表框lsE、列表框lsIVars、列表框lsNumbers、列表框lsStrings) { 这1.ls=ls; this.lsE=lsE; this.lsIVars=lsIVars; this.lsNumbers=lsNumbers; this.lsStrings=lsStrings; } } 我的问题是:如何将这个大代码替换为更“舒适”的方法

扫描仪组件=新扫描仪(列表框2、列表框1、列表框3、列表框4、列表框5); 如果我有超过5个列表框,那就太糟糕了。 我如何从另一个类文件“Listbox”中访问
感谢您的回答。

创建一个字段来存储所有
列表框
实例,然后更改构造函数以接受任意数量的实例:

class scaner
{
    readonly IEnumerable<ListBox> listBoxes;

    public IEnumerable<ListBox> ListBoxes
    {
        get { return this.listBoxes; }
    }

    public scaner(params ListBox[] listBoxes)
    {
        this.listBoxes = listBoxes;    
    }
}
或者这个:

// Here I am passing 4 ListBoxes - you can pass as many as you wish
// without modifying the source code of your scaner class
scaner Comp = new scaner(listBox1, listBox2, listBox3, listBox4);

创建一个字段来存储所有
列表框
实例,然后更改构造函数以接受任意数量的实例:

class scaner
{
    readonly IEnumerable<ListBox> listBoxes;

    public IEnumerable<ListBox> ListBoxes
    {
        get { return this.listBoxes; }
    }

    public scaner(params ListBox[] listBoxes)
    {
        this.listBoxes = listBoxes;    
    }
}
或者这个:

// Here I am passing 4 ListBoxes - you can pass as many as you wish
// without modifying the source code of your scaner class
scaner Comp = new scaner(listBox1, listBox2, listBox3, listBox4);

使用
列表
使用
列表

@Oyeme:this.listboxs[0]或just listboxs[0]@Oyeme:this.listboxs[0]或just listboxs[0]