下面给出的是我写的代码
Private Sub CloseTransactionForms() Dim ActiveFroms As New List(Of String) Dim formToClose As New List(Of Form) Dim j As Integer ActiveFroms.Add("FrmSale") ActiveFroms.Add("FrmpPurchase") ActiveFroms.Add("FrmSaleReturn") ActiveFroms.Add("FrmPurchaseReturn") Try For Each frm As Form In My.Application.OpenForms For j = 0 To ActiveFroms.Count - 1 If frm.Name.ToString() = ActiveFroms.Item(j) Then formToClose.Add(frm) End If Next Next If formToClose.Count > 0 Then Dim i As Integer For i = 0 To formToClose.Count - 1 Dim xform As Form = formToClose.Item(i) xform.Close() Next End If Catch ex As Exception End Try End Sub
此代码将遍历我的应用程序中的打开表单并关闭应用程序中定义的表单
但这对我来说似乎不好(在其中使用 3 个 for 循环,有时在通过 for 循环进行迭代时需要花费)我认为会有另一种好方法,请为我提出一个好的解决方案
注意:我已经在 SO 中看到了这个问题