Imports System.Reflection PublicClass Form1Class Form1 Public userflag AsObject="1,2,3,4,5,7,8" PrivateSub Form1_FormClosing()Sub Form1_FormClosing(ByVal sender AsObject, ByVal e As System.Windows.Forms.FormClosingEventArgs) HandlesMe.FormClosing Application.Exit() End Sub PrivateSub Form1_Load()Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load Me.WindowState = FormWindowState.Maximized AddMenu(userflag) End Sub PrivateSub openform()Sub openform(ByVal sender AsObject, ByVal e As EventArgs) Dim asm As [Assembly] = System.Reflection.Assembly.GetExecutingAssembly() Dim frm AsNew Form frm =CType(asm.CreateInstance("WindowsApplication1."+CType(sender, ToolStripMenuItem).Tag.ToString), Form) 'CType(asm.CreateInstance("项目名称." + CType(sender, ToolStripMenuItem).Tag.ToString), Form) frm.Text = sender.ToString frm.WindowState = FormWindowState.Maximized If OpenOnce(frm) =FalseThen frm.MdiParent =Me frm.Show() EndIf End Sub PrivateSub AddMenu()Sub AddMenu(ByVal userflag AsObject) Dim ms AsNew MenuStrip() For j AsInteger=0To4 Dim windowMenu AsNew ToolStripMenuItem("主菜单"& j) For i AsInteger=1To10 Dim windowNewMenu AsNew ToolStripMenuItem("我的菜单"& i, Nothing) AddHandler windowNewMenu.Click, AddressOf openform windowNewMenu.Tag ="Form"& i '以这里获得窗体的路径 flag(userflag, windowNewMenu, i) windowMenu.DropDownItems.Add(windowNewMenu) CType(windowMenu.DropDown, ToolStripDropDownMenu).ShowImageMargin =False CType(windowMenu.DropDown, ToolStripDropDownMenu).ShowCheckMargin =False ms.Items.Add(windowMenu) ms.Dock = DockStyle.Top Me.MainMenuStrip = ms Me.Controls.Add(ms) Next Next End Sub PublicFunction OpenOnce()Function OpenOnce(ByVal myform As Form) AsBoolean Dim form As Form ForEach form InMe.MdiChildren If form.Text = myform.Text Then form.Activate() ReturnTrue EndIf Next ReturnFalse End Function PrivateFunction flag()Function flag(ByVal userflag AsObject, ByVal MenuN AsObject, ByVal i AsInteger) userflag =Split(userflag, ",") For k AsInteger=0ToUBound(userflag) With MenuN If userflag(k) - i =0Then .Enabled =True ExitFor Else .Enabled =False EndIf EndWith Next ReturnNothing End Function End Class