用C# ListBox实现Item多行的方法很少,几乎没有文章给的是直接答案,现在笔者将自己的关于C# ListBox实现Item多行的方法奉上,希望大家能够从中得到启发。
“怎么让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()的办法,在里面写代码吧。
- privatevoidlistBox1_DrawItem(objectsender,System.Windows.Forms.DrawItemEventArgse)
- {
- e.DrawBackground();
- BrushmyBrush=Brushes.Black;//初始化字体色彩=黑色
- this.listBox1.ItemHeight=90;//设置项高,依据详细需求设置值
- //为每个项设置字体色彩
- //假如不需求能够不写此switch
- switch(e.Index)
- {
- case0:
- myBrush=Brushes.Red;
- break;
- case1:
- myBrush=Brushes.Orange;
- break;
- case2:
- myBrush=Brushes.Purple;
- break;
- case4:
- 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项的办法。
【修改引荐】
- 解析C# Socket编程完成拜访网络的原理
- C# switch句子简略描绘
- C# ServiceController类分析
- C#抓取网页程序的完成浅析
- C#内存办理详细分析
转载请说明出处
知优网 » C# ListBox完成Item项显现多行(listbox多行显示)
知优网 » C# ListBox完成Item项显现多行(listbox多行显示)