【发布时间】:2017-06-19 00:17:06
【问题描述】:
我有几个名为:Array1、Array2、Array3、...的数组,还有一些名为:cboArray1、cboArray2、cboArray3、...的组合框。
如何编写通用代码将每个数组的元素添加到相应的组合框。我知道以下代码有效,但它不是 GENERAL 和 ABSTRACT。
For i = 0 To Array1.Length - 1
cboArray1.Items.Add(Array1(i))
Next
For i = 0 To Array2.Length - 1
cboArray2.Items.Add(Array2(i))
Next
...
工作过程可能如下: 1. 查找表单中的所有组合框(简单) 2. 提取组合框的名称(简单) 3. 从代码中找到名称相似的数组(困难) 4. ....
我可以使用其他集合,如 List,...如果有意义的话。
【问题讨论】:
-
它不是 GENERAL 和 ABSTRACT,因为您正在将 SPECIFIC 数据添加到 SPECIFIC 组合框。更容易使用数据源:
cboArray1.DataSource = array1您还可以编写一个方法,该方法采用 CBO 和数组(或列表)并将每个元素繁琐地复制到 items 集合 -
谢谢。在这两种方式中,我必须为每对数组组合框重复类似的代码。一般,我的意思是避免这种重复。将来,我可能会添加数组和组合框,并且我正在寻找一种避免编写新代码的方法。
-
阅读最后一部分 - 创建一个方法并传递 CBo 和数组。 DataSource 方法避免将数据复制到控件。一行代码。
-
我想我明白你的意思。让我们假设 - 过了一会儿 - 我已经在我的代码中添加了第 100 个数组。现在除了定义该数组之外,我还应该添加另一个类似这样的代码: cboArray100.dataSource= Array100 。我想为每个新定义的数组省略上面的代码。当然,这样的事情是可能的。