2 回答

TA貢獻1877條經驗 獲得超1個贊
您有幾種方法可以處理您的方案。在這兩種方式中,都需要在“設計”視圖中設置窗體的相應屬性,以便永久保存。
只需使用窗體的 Name 屬性,但只需確保將此屬性設置為應用程序中每個窗體的唯一字符串。如果您只想存儲每個表單標識符的整數,則解析 Name 末尾整數的 Name 屬性;例如,如果隨后解析 Form1 以獲取表單標識符。Me.Name = "Form1"1
''put this line in Form Load event
Dim formIdentifier as string = Me.Name
''OR use the integer part as identifier in form name assuming
''you name each form starting with Form
''and then an integer
Dim formIdentifier as string = Me.Name.Substring(4)
第二個選項是設置窗體的屬性值,并將其用作標識符。此屬性允許開發人員將任何自定義字符串值附加到窗體。例如,在下面的屏幕截圖中,我已分配為可以用作表單標識符的標記。確保 Tag 屬性對于每個窗體都有唯一的值。TagformFinance
''put this line in Form Load event
Dim formIdentifier as string = Me.Tag

TA貢獻1815條經驗 獲得超10個贊
好吧,所以這是來自代碼項目的解決方案:https://www.codeproject.com/Questions/853501/How-I-Can-Get-List-Of-All-Forms-In-My-Project-Usin,您可以根據需要進行更改。
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim myAssembly As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()
Dim types As Type() = myAssembly.GetTypes()
For Each t As Type In types
If UCase(t.BaseType.ToString) = "SYSTEM.WINDOWS.FORMS.FORM" Then
'MessageBox.Show(t.Name)
ListBox1.Items.Add(t.Name)
End If
Next
End Sub
- 2 回答
- 0 關注
- 192 瀏覽
添加回答
舉報