У меня есть опция меню выхода из системы в моем приложении MDI.При выходе я хочу закрыть все открытые формы.в настоящее время я использую следующий фрагмент кода для достижения этой цели:
For Each f As Form In My.Application.OpenForms
If f.Name = Me.Name Then
For Each child As Form In f.MdiChildren
child.Close()
Next
Else
f.Close()
End If
Next
Он отлично работает в моей тестовой среде, хотя я ожидал, что Для каждого цикла будет выбрасывать« Коллекция была изменена; операция перечисления может не выполняться» исключение.так как в каждой дочерней форме вызывается метод Close (), коллекция f.MdiChidren модифицируется, что меня очень удивило.Кто-нибудь может сказать мне, почему он не выдает это исключение?
Однако он выдает «Коллекция была изменена; операция перечисления может не выполняться» в клиентской системе.