在属性窗口自定义属性不会改变的时候保存(Custom property won't save

2019-06-25 09:17发布

我创建了DataGridView中自定义列,原因是我想要的属性(类型)添加到列。 我右键单击DataGridView中,选择“编辑列...”。 然后,当我选择我的自定义字段类型,我可以编辑的财产,但如果我类C“OK”编辑后,然后进入“编辑列...”再次,我分配给我的属性值的列离开了。

这里是我的代码:

public class CustomColumn : DataGridViewColumn
{
    [DisplayName("Type")]
    [Category("Custom Property")]
    public String type { get; set; }

    public CustomColumn()
        : base(new DataGridViewTextBoxCell())
    {
    }
}

和属性窗口的图像:

在PROPERT窗口的图像http://s8.postimage.org/fzrke75gl/Capture.png

谁能告诉我,我做错了什么,或者我需要什么补充,这样,当我更改属性窗口中的值,该值被分配到财产?

Answer 1:

我认为你需要覆盖Clone()方法,以便该工作:

public class CustomColumn : DataGridViewColumn {

  public CustomColumn()
    : base(new DataGridViewTextBoxCell()) {
  }

  [DisplayName("Type")]
  [Category("Custom Property")]
  public String type { get; set; }

  public override object Clone() {
    CustomColumn copy = base.Clone() as CustomColumn;
    copy.type = type;
    return copy;
  }
}

请参阅自定义属性上覆盖了DataViewColumn不救



文章来源: Custom property won't save when changed in property window