foreach(Control ct in this.Controls)
{
  Object textbox = (Type(ct)) ct;//这样行么?
}

解决方案 »

  1.   

    http://www.c-sharpcenter.com/CSNET/dynamicinvoke.asp
    http://www.c-sharpcorner.com/Code/2002/April/LoadingAssemblyInfo.asp
    使用反射生成一个窗体:
    private void button1_Click(object sender, System.EventArgs e)
    {
    Assembly assm = Assembly.LoadFrom("e:\\WindowsApplication5.dll");
    Type TypeToLoad= assm.GetType("WindowsApplication5.Form1");

    object obj;
    obj = Activator.CreateInstance(TypeToLoad);
    Form formToShow = null;
    formToShow = (Form)obj;
    formToShow.Show();

    }
      

  2.   

    foreach(Control ct in this.Controls)
    {
      if(ct is uTextBox)
      uTextBox textbox = (uTextBox) ct;
    }
      

  3.   

    那有没有办法根据控件的属性名称取到当前控件的属性值呢?这个简单,可以通过反射得到,推荐你读一下《Microsoft .NET 框架程序设计》
      

  4.   

    ccat(智拙) :你的心情我理解,不过这个问题,是错的。
    --------
    赫赫,没错,这个问题确实是错的。
      

  5.   

    foreach(Control ct in this.Controls)
    {
      if(ct is uTextBox)
      uTextBox textbox = (uTextBox) ct;
    }
      

  6.   

    sControl.GetType().GetProperty("ColumnName").GetValue() 方法怎么取不到属性值啊,老是说错,但看帮助文档GetValue方法是用来取属性值的啊?
      

  7.   

    shine888(fuzhong),对你的问题:
    sControl.GetType().GetProperty("ColumnName").GetValue() 方法怎么取不到属性值啊,老是说错,但看帮助文档GetValue方法是用来取属性值的啊?〉---是因为你的GetValue() 方法写的有问题,此方法中的参数你没有写,你可以参考一下我写的一个测试
    程序,经测试是对的,如: static void Main(string[] args)     //测试程序
    {
       AB ab= new AB("sjh");            //打引出的结果为“sjh”,测试正确
                Console.WriteLine(ab.GetType().GetProperty("Name").GetValue(ab,null));
       Console.Read();

    }
    class AB
    {
    string name;
    public string Name
    {
    set{this.name = value;}
    get{return this.name;}
    }
    public AB(string name)
    {
    this.name = name;
    }
    }
      

  8.   

    可以,我就写过这样的代码
    如下:是Web  即*.aspx.cs 文件
    //this.Controls[1].Controls 你调试一下就可以看到TextBox控件了
    foreach(Control ct in this.Controls[1].Controls)
    {
        TextBox objtextbox = (TextBox) ct;
        if(objtextbox.FullName=="System.Web.UI.WebControls.Text"
        {
             //你的处理函数
         }
    }