Dot Net WinForm 控件开发 (五) 复杂属性的子属性

Dot Net WinForm 控件开发 (五) 复杂属性的子属性

看到了吧? ComplexProperty 属性的子属性 Max, Min 也可以被编辑了.

实现这些很简单,只需要在这个属性的类型的类型转换器中重载两个方法即可
 1 Dot Net WinForm 控件开发 (五) 复杂属性的子属性          /// <summary>
 2Dot Net WinForm 控件开发 (五) 复杂属性的子属性        /// 使用指定的上下文返回该对象是否支持属性 (Property)。
 3Dot Net WinForm 控件开发 (五) 复杂属性的子属性        /// </summary>

 4 Dot Net WinForm 控件开发 (五) 复杂属性的子属性          public   override   bool  GetPropertiesSupported(ITypeDescriptorContext context)
 5 Dot Net WinForm 控件开发 (五) 复杂属性的子属性         {
 6Dot Net WinForm 控件开发 (五) 复杂属性的子属性            return true;
 7Dot Net WinForm 控件开发 (五) 复杂属性的子属性        }

 8 Dot Net WinForm 控件开发 (五) 复杂属性的子属性
 9 Dot Net WinForm 控件开发 (五) 复杂属性的子属性         /// <summary>
10Dot Net WinForm 控件开发 (五) 复杂属性的子属性        /// 使用指定的上下文和属性 (Attribute) 返回由 value 参数指定的数组类型的属性 (Property) 的集合。
11Dot Net WinForm 控件开发 (五) 复杂属性的子属性        /// </summary>

12 Dot Net WinForm 控件开发 (五) 复杂属性的子属性          public   override  PropertyDescriptorCollection GetProperties(ITypeDescriptorContext context,  object  value, System.Attribute[] attributes)
13 Dot Net WinForm 控件开发 (五) 复杂属性的子属性         {
14Dot Net WinForm 控件开发 (五) 复杂属性的子属性            return TypeDescriptor.GetProperties(typeof(SimpleCustomType), attributes);
15Dot Net WinForm 控件开发 (五) 复杂属性的子属性        }

16 Dot Net WinForm 控件开发 (五) 复杂属性的子属性

The end.

你可能感兴趣的:(WinForm)