(原)可自定义Item子项的ListBar控件V1.0

 

刚刚完成的一个控件:我起名叫做ListBar因为这个控件大体功能和List差不多.只不过不同的是这个控件

能在Item项里加入自己要显示的东东随意布局!基实也不算完成还有一些要优化的地方.功能上这只能算是

第一阶段的:

控件支持偷明色

支持数据绑定(第一次写数据绑定相关写的不太好)

支持每行颜色交替

自定义子项 目前只有单击事件

自定义子项在设计时支持鼠标操作改变位置和大小.选中...

控件Item的自定义项,目前包括 Label,Button(支持贴图),Image;

后续还有如下功能开发:

控件Item项支持动态效果 类似QQ2009的登录QQ号选择Commbox的下拉项,

控件Item项的上下托动

加入控件Item的分组项类似QQ2009好面列表的分组

自定义子项支持动态效果,

自定义子项加入CommBox.CheckBox,ProgressBar,及ControlHost

先看看图吧...

设计时:

运行时:

 

使用方法:

1. 数据绑定

 

 

代码
  List<textData> data = new List<textData>();
        
private void Form1_Load(object sender, EventArgs e)
        {


            textData item 
= null;
             
for (int i = 0; i < 20; i++)
            {
                item 
= new textData
                           {
                               A 
= i.ToString() + ":1",
                               B 
= i,
                               C 
= i,
                               D 
= DateTime.Now,
                               img 
= Resources.a,
                           };
                
this.data.Add(item);

            }
             
this.listBar1.DataSource = this.data;
        }

 

 数据模型实体类

 

代码
  public class textData
    {
        
public string A { getset; }

        
public int B { getset; }


        
public double C { getset; }
        
public DateTime D { getset; }

        
public Image img { getset; }
    }

 

子项数据绑定字段设置

这样就能显示了...

2.手工增加数据

 

ListBarItem item = new ListBarItem(listBar1); //生成一个新的Item项
item.Cells.Add(new LabelItem("test"new Point(00)));//在新项里加入所要的子项
listBar1.Items.Add(item);//把Item项加入到控件Items中

 

 

Demo及源码下载

注:大家多包含.不太会写文章.

posted @ 2010-01-07 17:04  ★火星人★  阅读(2229)  评论(22编辑  收藏  举报