I have a logout menu option in my MDI application. On log out I want to close all open forms. currently i am using following code snippet to achieve this;
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
It is working perfect in my test environment, even though I expected For Each loop will throw "Collection was modified; enumeration operation may not execute" exception. since on each child form Close() calls, f.MdiChidren collection get modified, that surprised me a lot. Can anybody tell me why it's not throwing that exception?
However it throws "Collection was modified; enumeration operation may not execute" in a client system.