Управление слишком многими списками (C #) - PullRequest
0 голосов
/ 17 апреля 2010

У меня почти 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 Как это может быть, можете ли вы сказать мне альтернативный тип списка массивов или другим способом?

1 Ответ

1 голос
/ 17 апреля 2010

Я не уверен, почему вам нужно 200 списков одновременно - ваши клиенты что-то сделали, чтобы вы рассердились?

200 списков - это большое количество списков (это вежливый способ сказать «слишком чертовски большой»), чтобы иметь их где угодно, особенно если (как я подозреваю) большинство из них невидимы в любое время.

Похоже, у вас уже есть данные (в виде таблицы) для этих списков в наборе данных. Лучше всего оставлять свои данные в этой форме, а создавать и заполнять только те списки, которые нужны программе.

Другими словами, вместо того, чтобы создавать и заполнять 200 списков, а затем иметь только некоторые из них видимыми одновременно, было бы лучше просто создать списки, которые вам нужны, когда они вам нужны, и утилизировать их при все готово (и не оставляйте неиспользованными и невидимыми).

...