using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.IsMdiContainer = true; MenuStrip ms = new MenuStrip(); ToolStripMenuItem WindowMenu = new ToolStripMenuItem("Window"); ToolStripMenuItem tiantian = new ToolStripMenuItem("(Form2)天天", null, new EventHandler (WindowNewMenu_Click)); ToolStripMenuItem WindowNewMenu = new ToolStripMenuItem("New1", null, new EventHandle(WindowNewMenu_Click)); ToolStripMenuItem WindowNewMenu2 = new ToolStripMenuItem("New2", null, new EventHandler(WindowNewMenu_Click)); ToolStripMenuItem WindowNewMenu3 = new ToolStripMenuItem("New3", null, new EventHandler(WindowNewMenu_Click)); WindowMenu.DropDownItems.Add(WindowNewMenu); WindowMenu.DropDownItems.Add(WindowNewMenu2); WindowMenu.DropDownItems.Add(WindowNewMenu3); WindowNewMenu.DropDownItems.Add(tiantian); ms.MdiWindowListItem = WindowMenu; ms.Dock = DockStyle.Top; ms.Items.Add(WindowMenu); this.MenuMain = ms; this.Controls.Add(ms); } private void WindowNewMenu_Click(object sender, EventArgs e) { string strFormName = ((ToolStripMenuItem)sender).Text.ToString(); //工程名稱加上點號再加要要找開的窗口名稱 string strFileName = "工程名稱."+strFormName.Substring(1, 5).ToString(); Type objType = Type.GetType(strFileName); object dObj = Activator.CreateInstance(objType); objType.InvokeMember("ShowDialog", System.Reflection.BindingFlags.InvokeMethod, null, dObj, null); } } } InvokeMember 說明:
Object InvokeMember ( string name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, CultureInfo culture )
name String,它包含要调用的构造函数、方法、属性或字段成员的名称。 - 或 - 空字符串 (""),表示调用默认成员。 - 或 - 对于 IDispatch 成员,一个表示 DispID 的字符串,例如“[DispID=3]”。 invokeAttr 一个位屏蔽,由一个或多个指定搜索执行方式的 BindingFlags 组成。访问可以是 BindingFlags 之一,如 Public、NonPublic、Private、InvokeMethod 和 GetField 等。不需要指定查找类型。如果省略查找类型,则将应用 BindingFlags.Public |BindingFlags.Instance。 binder 一个 Binder 对象,该对象定义一组属性并启用绑定,而绑定可能涉及选择重载方法、强制参数类型和通过反射调用成员。 - 或 - 若为 空引用(在 Visual Basic 中为 Nothing),则使用 DefaultBinder。 target 要在其上调用指定成员的 Object。 args 包含传递给要调用的成员的参数的数组。 culture 表示要使用的全局化区域设置的 CultureInfo 对象,它对区域设置特定的转换可能是必需的,比如将数字 String 转换为 Double。 - 或 - 空引用(在 Visual Basic 中为 Nothing),表示使用当前线程的 CultureInfo。 返回值 表示被调用成员的返回值的 Object。 备注 此方法用于从非托管代码访问托管类,不应从托管代码调用。 Type.InvokeMember 方法使用指定的绑定约束并匹配指定的参数列表和区域性,调用指定的成员。
動太數據為中讀取菜單
最新推荐文章于 2022-07-29 12:39:10 发布