“如何让ListBox的Item项显示多行?”,貌似没有人给出直接的答案。现在将一点个人C# ListBox经验总结如下:

成都创新互联是一家专业从事成都网站设计、网站制作、外贸营销网站建设的网络公司。作为专业网站设计公司,成都创新互联依托的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、成都全网营销及网站设计开发服务!
1、首先选中拖至面板的ListBox控件,点属性,选中DrawMode,改成OwnerDrawFixed或OwnerDrawVariable
2、还是在属性工具中,切换到事件(就是那个闪电图标),鼠标双击‘行为’菜单下的DrawItem,添加一个事件。
3、在‘窗体设计器生成的代码’中就添加了一个新的事件
this.listBox1.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.listBox1_DrawItem);
4、学过的朋友应该知道,这时代码里会有一个 listBox1_DrawItem()的方法,在里面写代码吧。
- private void listBox1_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e)
 - {
 - e.DrawBackground();
 - Brush myBrush = Brushes.Black; //初始化字体颜色=黑色
 - this.listBox1.ItemHeight=90; //设置项高,根据具体需要设置值
 - //为每个项设置字体颜色
 - //如果不需要可以不写此switch
 - switch (e.Index)
 - {
 - case 0:
 - myBrush = Brushes.Red;
 - break;
 - case 1:
 - myBrush = Brushes.Orange;
 - break;
 - case 2:
 - myBrush = Brushes.Purple;
 - break;
 - case 4:
 - myBrush = Brushes.White;
 - break;
 - }
 - e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), e.Font, myBrush,e.Bounds,null);
 - //这句好象可以不要,自己试下
 - e.DrawFocusRectangle();
 - }
 
其实,看过MSDN的朋友应该知道了,MSDN里有类似的代码,我不过修改了几个地方,加入了项高this.listBox1.ItemHeight=90,可以输入多行字符,这里要注意的是,整个ListBox的高应该是你设置的Item项高的倍数大一点点,不然ListBox在显示时会有所变形!(例如:我的Item项高是60,而ListBox要一次显示三项,所以设置为184)
以上就是关于C# ListBox控件重绘Item项的方法。
【编辑推荐】
Copyright © 2009-2022 www.wtcwzsj.com 青羊区广皓图文设计工作室(个体工商户) 版权所有 蜀ICP备19037934号