Как я могу пройти через ArrayList Winforms? - PullRequest
1 голос
/ 16 декабря 2011

В настоящее время я занимаюсь разработкой приложения для формы Windows, и у меня есть список уведомлений массива, который содержит формы уведомлений.

Как использовать цикл for для циклического прохождения всех форм в массиве arrayList, чтобы проверить, располагаются ли формы через свойство isDisposed?

int formDisposed = 0;  

for (int i = 0; i < notificationList.Count; i++)
{
    if(notificationList.?????.IsDisposed == true)
    {
      formDisposed ++;
    }
}

Спасибо!

Ответы [ 2 ]

0 голосов
/ 16 декабря 2011

ArrayLists индексируются с помощью квадратных скобок (messagesList [i]), но это не сработает без приведения к вашему типу.ArrayList возвращает тип Object, а Object не реализует IsDisposed.Возможно, вы захотите использовать вместо него общий список элементов управления (List ), который бы работал так же, но не нуждался в приведении.

0 голосов
/ 16 декабря 2011

Обычно с помощью

if(notificationList[i].IsDisposed)

, если по какой-то причине у вас нет этой опции: добавьте следующую строку в ваш файл .cs

using System.Data;

и Syste.Data иSyste.Data.DataSetExtensions, чтобы вы могли получить доступ к методу xxx.ElementAt (i).

Вы также можете использовать foreach:

int formDisposed = 0;  

foreach (Form f in notificationList)
{
    if(f.IsDisposed)
      formDisposed ++;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...