我有这个问题,我创建了自己的datagridviewcolumn,我希望添加一些属性,您可以在设计时编辑...下面是我的代码:
private int nMaxLength;
[Description("Fondoscala valore"), Category("Sea")]
public int MaxLength
{
get { return nMaxLength; }
set { nMaxLength = value; }
}实际上没有问题,当您打开列编辑器时,您会在“海”类别下看到此属性,您可以进行更改,但是当您更改它时,如果转到.Designer.cs文件,您会看到MaxLength值为0。没有变化。有什么问题吗??提前感谢
发布于 2010-09-16 23:04:40
窗体设计器执行一些内部技巧,以便允许您在设计时更改列类型(例如,从DataGridViewTextBoxColumn更改为DataGridViewButtonColumn)。因此,设计器依赖于具有正确实现的Clone()方法的DataGridViewColumn子类,即:
public override object Clone() {
MyDataGridViewColumn that = (MyDataGridViewColumn)base.Clone();
that.MaxLength = this.MaxLength;
return that;
}如果不重写Clone()方法,则设计器不会提交您对自定义属性值所做的任何更改。
https://stackoverflow.com/questions/3699205
复制相似问题