如何通过字符串反射一个控件的实例
例如:我定义了一个变量:valuecontrol="textbox";
我想通过这个变量反射得到一个textbox控件的对象,然后显示在窗口中,请问如何做?

解决方案 »

  1.   

    你把Modifiers属性  改成Public 不就完了  以后直接调用这页的这个控件  
     给分!
      

  2.   

    你这个"textbox"是控件的Name属性,还是类型名?
    如果是Name属性,用this.Controls["textbox"]
    如果是类型,需要的是区分大小写的类型完全限定名称:
    Activator.CreateInstance(typeof(Form).GetType("System.Windows.Forms.TextBox"))
      

  3.   

    object newInstance= Type.GetType("valuecontrol").Assembly.CreateInstance("valuecontrol")
      

  4.   

    4楼的代码差不多是我想要的,我试了一下,出现异常:NullReferenceException
      

  5.   

    我的代码是:object newInstance= Type.GetType("TextBox").Assembly.CreateInstance("TextBox")
      

  6.   

    反射调用中字符串参数要用类型的全名
    object newInstance= Type.GetType("System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089").Assembly.CreateInstance("System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");
      

  7.   

    如果是你自定义的类,并且引用了该dll,则只需要命名空间.类名就可以了。