现在做报表设计器,因为很多图形和文本用到边框BorderStyle(如边框颜色、背景...)、文本格式TextStyle(如字体、对齐...),为了重用和扩展方便,所以单独立把它为作为类。这样,GoldPrinterRectangle、GoldPrinterCircle...自然会把BorderStyle作为它的成员
而GoldPrinterTextBox会把BorderStyle、TextStyle作为它的成员假如使用者在报表设计器上拖了一个矩形GoldPrinterRectangle,这样窗口属性网格就会显示它的
X、Y、Size属性及BorderStyle。因为BorderStyle是一个对象不能直接修改,没办法,只有用适配或者代理对象的方法把BorderStyle的成员再适配一次。可能解决的方法是:1、如果把BorderStyleCollection作为GoldPrinterRectangle的属性,这下就可以在属性网格中单击它并弹出一个窗口允许改BorderStyle2、根据属性网格的接口做复合属性的显示方式,正如Size、Font一样或弹出一个窗口配置能否有个更简单的方法直接把BorderStyle的所有属性和X、Y、Size一样并排显示?
例如class A
{
  属性
  X
  Y
}class B
{
  属性
  Z
  A
}现假设X、Y、Z都是基本数据类型如int现在把B的实例对象给PropertyGrid的SelectedObject后,
属性网格显示了属性
Z
A期望结果:
Z
X
Y也就是直接把A的属性列出来