2013-04-24 33 views
0

我有一個PropertyGrid,未排序。未分類的屬性網格中的父類

一個目的是從另一個類繼承的對象:

[TypeConverter(typeof(ExpandableObjectConverter))] 
public class ExpandValues: Values 
{ 
    public double Value2 { get; set; } 

    public ExpandValues() 
     : base() 
    { 

    } 
    public ExpandValues(string name, double value1, double value2) 
     : base(name, value1) 
    { 
     Value2 = value2; 
    } 
} 

父類:

[TypeConverter(typeof(ExpandableObjectConverter))] 
public class Values 
{ 
    [Browsable(false)] 
    public string Name { get; set; } 
    public double Value { get; set; } 

    public Values() 
     : this(null, 0) 
    { 

    } 
    public Values(string name, double value) 
    { 
     Name = name; 
     Value = value; 

    } 
} 

當我打開包含該對象的類別ExpandValues正顯示出我喜歡的值這樣的:

Value2 
Value 

有我先告訴他的方式顯示父類的對象(不使PropertyGrid中排序?)

回答

0

對於值是爲了,我重寫父類的可變value

我添加了一個虛擬到一個變量中父類:

public virtual double Value { get; set; } 

然後我重寫他:

[TypeConverter(typeof(ExpandableObjectConverter))] 
public class ExpandValues: Values 
{ 
    public override double Value 
    { 
     get 
     { 
      return base.Value; 
     } 
     set 
     { 
      base.Value = value; 
     } 
    } 

    public double Value2 { get; set; } 

    public ExpandValues() 
     : base() 
    { 

    } 
    public ExpandValues(string name, double value1, double value2) 
     : base(name, value1) 
    { 
     Value2 = value2; 
    } 
}