############自定义控件的属性问题##############

dahaig 2006-04-01 01:12:33
我做一个c#的自定义控件,是一个列表的控件。
希望实现:在设计时,在此控件的属性窗口里,像listView那样可以添加列,并且设置列的宽度!
下面是列的类
public class column
{
string text;
float width;
public string Text
{
get{}set{}
}

public float Width
{
get{}set{}
}
}
下面是控件的部分代码
private column[] columns;
public column[] Column
{
get
{
return this.columns;
}
set
{
this.columns = value;
}
}
现在的情况是:在设计时,添加的列没有保存,就是说在控件的属性窗口中添加了3个列,关闭属性窗口,再打开,还是没有任何列!
搞不懂了,控件的设计时添加列时是由哪部分代码控制的?
请高手指点!
...全文
245 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Marg 2006-04-02
  • 打赏
  • 举报
回复
private ColumnHeaderCollection _Columns;
public ColumnHeaderCollection Column
{
get
{
return Columns;
}
}
正解
dahaig 2006-04-02
  • 打赏
  • 举报
回复
谢谢大家!
非常感谢!!
friendlbl 2006-04-02
  • 打赏
  • 举报
回复
private column[] columns;//定义时未分配内存空间,只是个引用
public column[] Column
{
get
{
return this.columns;//正确
}
set
{
this.columns = value;//错误,
//因为属性数据必须保存到内存中才能使用,
//正确用法:为this.columns分配空间并一一赋值
//this.columns = new string[value.tostring().Length];
//foreach()....
}
}
WangGuangJun 2006-04-01
  • 打赏
  • 举报
回复
需要定义属性的扩展设计时支持的.

ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_fxdeveloping/html/7aed9eb4-124b-4a15-a0a3-458f37ac9ef7.htm
wxdl1981 2006-04-01
  • 打赏
  • 举报
回复
return _Columns
wxdl1981 2006-04-01
  • 打赏
  • 举报
回复
private ColumnHeaderCollection _Columns;
public ColumnHeaderCollection Column
{
get
{
return Columns;
}
}

至于class column,就不用了
ice_frank 2006-04-01
  • 打赏
  • 举报
回复
关注

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧