我目前正在开发一个Windows窗体应用程序,我有一个包含notificationForms的arraylist notificationList。
如何使用for循环遍历arrayList中的每个表单以检查表单是否通过isDisposed属性处理?
int formDisposed = 0;
for (int i = 0; i < notificationList.Count; i++)
{
if(notificationList.?????.IsDisposed == true)
{
formDisposed ++;
}
}
谢谢!
答案 0 :(得分:0)
通常使用
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 ++;
}
答案 1 :(得分:0)
ArrayLists可以使用方括号(notificationList [i])进行索引,但如果没有对您的类型进行强制转换,这将无法工作。 ArrayList返回Object类型,Object不实现IsDisposed。您可能需要考虑使用通用控件列表(List&lt; Control&gt;),它可以工作相同但不需要强制转换。