使用用户绘制模式自定义ListBox中项的高度

  默认情况下,ListBox控件中的项的高度是12px。一般的,窗体上的文字为9pt或更大字体,这样一来,Listbox控件中的项与项之间几乎没什么间隙,看起来密密麻麻一片,界面效果十分不友好。可以通过修改控件的DrawMode和ItemHeight属性,然后处理其DrawItem事件来处理该问题。

  1、修改ListBox控件的DrawMode属性为OwnerDrawFixed或者OwnerDrawVariable

  2、修改ListBox控件的ItemHeight属性为20

  3、处理ListBox控件的DrawItem事件

1         private void listBox_DrawItem(object sender, DrawItemEventArgs e)
2 {
3 e.DrawBackground();
4 e.DrawFocusRectangle();
5 e.Graphics.DrawString(listBox.Items[e.Index].ToString(), e.Font, new SolidBrush(Color.Black), e.Bounds);
6 }

  如此即可,经过这般处理后,会有一个较好的界面体验效果。

posted @ 2011-07-24 17:49  百折不回  阅读(680)  评论(0编辑  收藏  举报