如题, 我要写一个自定义控件 类似于Listbox,但是我又不想继承Listbox,其他都没有问题,在自定义集合属性那里卡住了,求高手指点迷津。。不胜感激!默认的Listbox 只能添加 只能添加一个值,我需要添加2个字符串,一个显示在左边,一个显示在右边,类似于千千静听的播放列表一样,左边显示歌曲名,右边显示时长。写了一半就是不知道集合属性该怎么弄。自定义控件c#集合属性
解决方案 »
- c#的通用排序算法
- 在C#中用什么语句可以筛选出access处在两个日期之间的记录 并统计他们的数目 如 我要选择日期为08-01-01到08-03-05这个时间段之间的记录 并统计他们的数目 ?
- vs.net2005新建一个本地项目,不能调试?闷。
- 类似于[WebMethod()]这样的头有什么作用?
- 一个简单的问题脑子糊涂了,知道一个人的出身年月日怎样判断到现在是否已经16周岁
- 超难,谁能帮我写一下解释啊,语法的问题
- 如何在右键的同时选中DataGrid控件中对应的行?
- 我想知道如何在Oracle上跨数据库查询和插入
- 请问如何在list<>中多条件查询符合要求对象?
- 关于提交数据的问题,当天就给分.
- 急急急!!!!!!!!!!!!!!!!
- 我想知道如何制作树形导航的,用的是数据库绑定的
public class myListBox : Control
{
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
[Localizable(true)]
[MergableProperty(false)]
public List<myItem> Items { get; set; }
} [Serializable()]
public class myItem
{
public string LeftString { get; set; }
public string RightString { get; set; }
}
我是这么干的
private List<ListItem> items;
public List<ListItem> Items
{
get
{
return items;
}
set { if (items == null)items = new List<ListItem>(); items = value; }
}
。。
[Serializable()]
public class ListItem
{
public ListItem() { } public ListItem(string songname, int songlenght)
{
this.songname = songname;
this.songlenght = songlenght;
}
private string songname;
private int songlenght;
public string SongName { get { return songname; } set { songname = value; } }
public int SongLenght { get { return songlenght; } set { songlenght = value; } }
}
public List<ListItem> Items
{
get
{
return items;
}
//set { if (items == null)items = new List<ListItem>(); items = value; }
}
public partial class myListBox : Control
{
private List<BsItem> items = new List<BsItem>();
[TypeConverter(typeof(System.ComponentModel.CollectionConverter))]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public List<BsItem> Items
{
get
{ return items; }
}
public myListBox() { }
}
public class BsItem
{
public string name
{ get; set; }
public string desc
{ get; set; }
}
是的。我多写了一个set{}...其实我知道是多余的,只是有缓存。。刷了好几次。。纠结了很久。。刚清理下然后重新生成就OK了。多些你们这些热心的人。。致敬!!