動太數據為中讀取菜單

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 方法使用指定的绑定约束并匹配指定的参数列表和区域性,调用指定的成员。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值