C#如何实现Listbox自绘功能
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,小编给大家分享一下C#如何实现Listbox自绘功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!使用控件的DrawMode属性来实现控件的自绘,首先将C# Listbox的Draw
千家信息网最后更新 2025年11月09日C#如何实现Listbox自绘功能
小编给大家分享一下C#如何实现Listbox自绘功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
使用控件的DrawMode属性来实现控件的自绘,首先将C# Listbox的DrawMode设置为OwnerDrawVariable,然后实现DrawItem ,MeasuerItem方法。
编写如下代码:
private void listBox1_DrawItem(object sender, DrawItemEventArgs e) { e.DrawBackground(); Rectangle r = new Rectangle(0, 0, lbCustomDraw.Width, 100); bool selected = ((e.State & DrawItemState.Selected) == DrawItemState.Selected); LinearGradientBrush lgb = null; if (!selected) { lgb = new LinearGradientBrush(r, Color.Red, Color.Yellow, LinearGradientMode.Horizontal); } else { lgb = new LinearGradientBrush(r, Color.Cyan, Color.White, LinearGradientMode.Horizontal); } e.Graphics.FillRectangle(lgb, e.Bounds); e.Graphics.DrawRectangle(SystemPens.WindowText, e.Bounds); Rectangle r2 = e.Bounds; string displayText = (string)lbCustomDraw.Items[e.Index]; SizeF size = e.Graphics.MeasureString(displayText, this.Font); r2.Y = (int)(r2.Height / 2) - (int)(size.Height / 2) + e.Bounds.Y; r2.X = 2; e.Graphics.DrawString(displayText, this.Font, Brushes.Black, r2); e.DrawFocusRectangle(); } private void listBox1_MeasureItem(object sender, MeasureItemEventArgs e) { string displayText = (string)lbCustomDraw.Items[e.Index]; SizeF size = e.Graphics.MeasureString(displayText, this.Font); size.Height += 10; e.ItemHeight = (int)size.Height; }最终效果:
看完了这篇文章,相信你对"C#如何实现Listbox自绘功能"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
C#
功能
控件
篇文章
代码
完了
属性
效果
方法
更多
知识
行业
资讯
资讯频道
频道
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机网络技术专业认知调查
贵州婷维软件开发有限公司
河北手机软件开发诚信企业推荐
vcu软件开发有前景吗
直播答题软件开发
无法打开图片rpc服务器不可用
八岐大蛇服务器圣魂纷争25服
服务器钢材价格行情最新
学计算机网络技术做什么工作
横山网络安全宣传周
四川互联网软件开发
专利数据库哪家公司的好用
什么是数据库和dvms什么关系
大分子对接数据库
德迅云服务器
江西政务软件开发多少钱
多媒体网络技术第六章答案
淘好车网络技术有限公司
重庆数据软件开发推广
初级软件开发工程师证
gta为什么自动选择服务器
王者荣耀装备大全数据库
支付宝网络安全等级
无法打开图片rpc服务器不可用
公司网络安全周问答题
维普数据库收录图书期刊学位论文
软件开发 上市公司
光遇挂机为什么会显示服务器错误
索尼电视服务器断开
非关系型数据库redis的安装