在将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
.
我在哪里可以访问开放表格?
该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
...看起来没问题(如果不是冗长的话),只要我能编译其他所有东西,我就能测试它.
Application.Exit几乎也会这样做.
我想如果所有表格都已关闭,你想要关闭应用程序.