这也是在使用Listbox的时候遇到的问题,ItemHeight的默认值是13,当在属性窗口里更改它时,改了又变回去了。后来上网查了下资料,原来Listbox默认是不能更改ItemHeight的。想要更改的话,需要这样做:
首先设置DrawMode属性为OwnerDrawVariable,自己画Listbox。
然后处理DrawItem和MeasureItem两个事件,DrawItem是在显示项时触发,MeasureItem是在要计算项的宽高时触发。在DrawItem里重新绘制项目,如下:
程序代码
e.DrawBackground ();
e.DrawFocusRectangle ();
e.Graphics.DrawString (listBox1.Items[e.Index].ToString(), e.Font, new SolidBrush (e.ForeColor), e.Bounds);
可以在MeasureItem里设置ItemHeight
程序代码
e.ItemHeight = 20;
如果只是这样简单的设个值的话可以不用MeasureItem事件了,因为这里已经可以在属性窗口里更改ItemHeight的值了。
分享到:
相关推荐
主要介绍了C#保存listbox中数据到文本文件的方法,涉及C#操作listbox数据的相关技巧,需要的朋友可以参考下
c# Listbox自动滚动
这是关于listbox的一个应用小技巧,里面附有源码程序。
c# 重写的listbox 有比较好看的样式
一个简单的示例教你如何实现winform的ListBox控件拖拽排序功能
此文档提供了一个委托方法,来控制访问listbox,用于多线程操作。c#
C# listbox 写入txt文本 创建文件路径和文件名
通过继承UserControl控件,重新写了一个可编辑的ListBox,它可以实现直接在框内点击添加,修改等。
C#087listbox添加删除代码 源代码
c# listbox显示数据库的内容c# listbox显示数据库的内容
C# listBox绑定数据库 以及DropDownList 资源大家一起分享
C#中ListBox和CheckedListBox
Q759361 v2 C# winforms listbox 双击条目直接修改 窗体传值实时同步
C# winform ListBox点击切换图片
C#的winform中对combobox和listbox控件SelectedValue属性重写,使得在没有绑定数据源情况下可以使用SelectedValue获取当前选中项的value值。源码下载。
C# ListBox 的使用 不错的资源 资源分享,你会,我会,大家会,才是真的会
在C#中使用ListBox控件实例源码在
WPF ListBox中显示图片,很小的例子,就几行代码。ItemTemplate中加入一个Image控件
一个C#的ListBox简单应用例子。 实现在ListBox控件间进行数据交换。
C# listbox文件拖拽,可以进行拽入和拽出操作。