■41645 / ) |
Re[1]: Newで生成したFormをメインFormから閉じるには |
□投稿者/ たくボン (209回)-(2009/09/26(Sat) 20:16:15)
|
■No41644 (hs さん) に返信 > VB2008 VB
> '自フォーム以外の表示しているフォームを全て閉じる > For Each obj As Form In Application.OpenForms > If obj.Name <> Me.Name Then > obj.Close() > End If > Next
ここで、For Eachを使ってるからだよ。コレクションの列挙中に、オブジェクトの破棄を行うと次のオブジェクトの列挙ができなくなるから例外が出てるだけ。 For Eachの中で列挙するオブジェクトを破棄する場合は、Forに変更するか、個々の参照を別に持たせてそれを削除するかかな。
For i as integer = 0 to Application.OpenForms.count-1 dim frm as form = Application.OpenForms(i) If frm.Name <> Me.Name Then frm.Close() End If Next
適当に直したから間違ってたらごめん。
|
|