VB.NET取得项目中的所有窗体名称:
Dim a As Assembly = Assembly.GetExecutingAssembly '取得目前组件 ' VB.NET 反射机制取得当前函数名 类名 '类名(当前窗体名称) Dim GetClass As String = System.Reflection.MethodBase.GetCurrentMethod.ReflectedType.Name '函数名 Dim GetFucntion As String = System.Reflection.MethodBase.GetCurrentMethod.Name '命名空间 Dim GetSystem As String = System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Namespace '从命名空间开始逐项列出 For Each t As Type In a.GetTypes '找寻组件内所有类别型态 If t.IsSubclassOf(GetType(Form)) Then '如果类别是继承自Form的话 LB.Items.Add(t.ToString & vbNewLine) '列出该类别信息 ‘TextBox1.AppendText(t.ToString & vbNewLine) End If Nextvb.net下利用反射实现字符串调用方法:
Dim AllPath As String = My.Application.Info.DirectoryPath & "\RHTEST.exe" Dim frmName As String = ListBox1.Text.Trim '窗体的类别信息(项目名.窗体名) Dim AssemblyObj As System.Reflection.Assembly AssemblyObj = System.Reflection.Assembly.LoadFile(AllPath) Dim frm As Form = AssemblyObj.CreateInstance(frmName) frm.MdiParent = Me.ParentForm frm.Dock = DockStyle.Fill frm.ShowDialog()
原文地址:https://www.jb51.cc/vb/257575.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。