object o = AuthrzForDx.ReflectionHelper.CreateInstance<XtraForm>(fields[i].FieldType, null);以上代码通过反射获得了一个窗体对象, 现在的问题是,如何遍历出变量 o 中的所有组件呢? 注意是组件,并非控件.不知道为什么 ((XtraForm)o).components, 并没有components属性, 只有Controls属性, 求高手帮忙 .ps: XtraForm继承自Form .

解决方案 »

  1.   

    components属性 是Control 的属性?
      

  2.   


    不是, 就是窗体上面有一些组件, 比如 bindingsource之类的组件...
      

  3.   


    foreach (Control con in (System.Windows.Forms.Form)o.Controls)
    {
                    
    }
    Controls 是form下所有控件的集合.
      

  4.   

    这是我的窗体上的一个组建的定义代码:
    private MyComponent comp;可以看出是一个私有的成员,所以按照私有成员来反射就可以了