C#;列表框';s作为一个对象(容器)
我使用Visual studio 2008C#;列表框';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
我在表单上有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]