我设置了一个MDI窗体在这个主窗体里添加了propertyGrid控件。
运行时这个MDI主窗体的子窗体(Form)属性可以在propertyGrid里显示。
而子窗体里的控件属性不能在propertyGrid里显示。
都是同样的语句propertyGrid1.SelectedObject=sender
向高手学习

解决方案 »

  1.   

    CSDN缺高手呀。郁闷到了极点。
      

  2.   

    public static void SetPropertyVisibility(object obj, string propertyName, bool visible)
    {
    Type type = typeof(BrowsableAttribute);
    PropertyDescriptorCollection props = TypeDescriptor.GetProperties(obj);
    AttributeCollection attrs = props[propertyName].Attributes;
    FieldInfo fld = type.GetField("browsable", BindingFlags.Instance | BindingFlags.NonPublic);
    fld.SetValue(attrs[type], visible);
    }
      

  3.   

    用这个函数试一下,obj是子窗体, 看能不能把住窗体的 controls 屏蔽掉
      

  4.   

    iseelxj(莹祈) 你写的函数报错props[propertyName].Attributes未实例化。
    请帮忙改改?