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 关注
- 231 浏览
添加回答
举报
