C#如何实现Listbox自绘功能
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,小编给大家分享一下C#如何实现Listbox自绘功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!使用控件的DrawMode属性来实现控件的自绘,首先将C# Listbox的Draw
千家信息网最后更新 2026年11月02日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安全错误
数据库的锁怎样保障安全
互联网黑科技
喔噻互联网科技有限公司
科技互联网产品
中国互联网科技股
科技互联网公司装修
互联网科技社
上海喔噻互联网科技
西安互联网科技公司
温州喔噻互联网科技有限公司
互联网科技与管理
杭州壁岐互联网科技有限公司
徐州市互联网科技有限公司
深圳互联网科技的发展
美国互联网科技公司
2021世界互联网领先科技成果发布
互联网科技新闻
湖北辰鑫科技互联网
长沙渺峰互联网科技有限公司
10位科技互联网大佬
广州全民伙伴互联网科技有限公司
互联网与科技
互联网品科技
万达互联网科技
互联网科技汛
丰台科技园 互联网公司
四个字互联网科技公司取名
上海宁丞科技互联网
昭通互联网科技选哪家
广州互联网高科技取餐柜
广州三三互联网科技有限公司