0

我有近 200 个列表框。我正在根据数据库中的变量更改它们的可见性。

所以我想,我准备了一个arraylist。像这样

ListBox[] lbs = this.Controls.OfType<ListBox>().ToArray();

并且这样使用。

for (int idx = 0; idx < Convert.ToInt32(ds.Tables[j].Rows[i][2])*12; idx++)
     lbs[idx].Visible = true;

此代码被写入 comboboxchange。现在一切都好。但;

例子;

我第一次更改组合框

1-20 个列表框可见=true

我再次更改了组合框

不是1-20。20,40 变化:S 怎么可能,你能告诉我另一种数组列表类型,还是其他方式?

4

1 回答 1

1

我不确定你为什么一次需要 200 个列表框——你的客户做了什么让你生气的事情吗?

200 个列表框是指大量列表框(这是一种礼貌的说法,即“太大了”),无法在任何地方拥有,尤其是如果(我怀疑)其中大多数在任何时候都是不可见的。

看起来您已经在 DataSet 中拥有这些列表框的数据(以表格形式)。最好将数据保留在该表单中,并且仅在程序需要时创建和填充列表框。

换句话说,与其创建并填充 200 个列表框,然后在任何时候只显示其中的一些,不如只在需要时创建所需的列表框,并在需要时丢弃它们。完成(并且不要将未使用的那些保留在周围并且不可见)。

于 2010-04-17T12:12:01.560 回答