gpt4 book ai didi

c# - 添加 datagridviewcolumn 属性 designtime

转载 作者:行者123 更新时间:2023-11-30 14:03:40 24 4
gpt4 key购买 nike

我有这个问题,我创建了自己的 datagridviewcolumn,我希望添加一些您可以在设计时编辑中更改的属性...这是我的代码:

private int nMaxLength;
[Description("Fondoscala valore"), Category("Sea")]
public int MaxLength
{
get { return nMaxLength; }
set { nMaxLength = value; }
}

事实上没问题,当你打开列编辑器时,你会在 Sea 类别下看到这个属性,你可以更改它,但是当你更改它时,如果你转到 .Designer.cs 文件,你会看到 MaxLength值为 0.. 没有变化...有什么问题??提前致谢

最佳答案

Forms Designer 做了一些内部技巧,以允许您在设计时更改列类型(例如,从 DataGridViewTextBoxColumnDataGridViewButtonColumn)。因此,设计器依赖于您的 DataGridViewColumn 子类具有正确实现的 Clone() 方法,即:

public override object Clone() {
MyDataGridViewColumn that = (MyDataGridViewColumn)base.Clone();
that.MaxLength = this.MaxLength;
return that;
}

如果您不覆盖 Clone() 方法,设计器将不会提交您对自定义属性值所做的任何更改。

关于c# - 添加 datagridviewcolumn 属性 designtime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3699205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com