bra*_*zoo 3 vb.net vb6 vb6-migration visual-studio-2008 winforms
在将VB6代码转换为VB.NET的过程中,我需要替换以下代码,这些代码旨在关闭应用程序中剩余的所有打开的表单.
'close all sub forms
For i = My.Application.OpenForms.Count - 1 To 1 Step -1
    'UPGRADE_ISSUE: Unload Forms() was not upgraded. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="875EBAD7-D704-4539-9969-BC7DBDAA62A2"'
    Unload(My.Application.OpenForms(i))
Next i
我Unload用Close(用TFM表示)替换了函数,但是编译器抱怨它OpenForms不是.的成员My.Application.
我在哪里可以访问开放表格?
Cer*_*rus 11
该OpenForms物业返回一个FormCollection.您可以遍历集合来处理所有表单.
For each f as Form in My.Application.OpenForms
 f.Close()
Next
我发现了这个解决方案,
'close all sub forms
For i = System.Windows.Forms.Application.OpenForms.Count - 1 To 1 Step -1
    Dim form As Form = System.Windows.Forms.Application.OpenForms(i)
    form.Close()
Next i
...看起来没问题(如果不是冗长的话),只要我能编译其他所有东西,我就能测试它.