C# Winform编程ListBox之添加图标
先上图:
这里添加固定的图片的。
代码:
- private Color RowBackColorAlt=Color.FromArgb(200,200,200);//交替色
- private Color RowBackColorSel = Color.FromArgb(150, 200, 250);//选择项目颜色
- public Form1()
- {
- InitializeComponent();
- listBox1.DrawMode = DrawMode.OwnerDrawFixed;
- listBox1.ItemHeight = 24;
- }
- private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
- {
- Brush myBrush = Brushes.Black;
- if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
- {
- myBrush = new SolidBrush(RowBackColorSel);
- }
- else if (e.Index % 2 == 0)
- {
- myBrush = new SolidBrush(RowBackColorAlt);
- }
- else
- {
- myBrush = new SolidBrush(Color.White);
- }
- e.Graphics.FillRectangle(myBrush, e.Bounds);
- e.DrawFocusRectangle();//焦点框
- //绘制图标
- Image image = Image.FromFile("images/item.png");
- Graphics g = e.Graphics;
- Rectangle bounds = e.Bounds;
- Rectangle imageRect = new Rectangle(
- bounds.X,
- bounds.Y,
- bounds.Height,
- bounds.Height);
- Rectangle textRect = new Rectangle(
- imageRect.Right,
- bounds.Y,
- bounds.Width - imageRect.Right,
- bounds.Height);
- if (image != null)
- {
- g.DrawImage(
- image,
- imageRect,
- 0,
- 0,
- image.Width,
- image.Height,
- GraphicsUnit.Pixel);
- }
- //文本
- StringFormat strFormat = new StringFormat();
- //strFormat.Alignment = StringAlignment.Center;
- strFormat.LineAlignment = StringAlignment.Center;
- e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), textRect,strFormat);
- }
C# Winform编程ListBox之添加图标相关推荐
- C# Winform编程ListBox之DrawItem事件
新建一个winform项目,拖一个ListBox控件listBox1 public Form1() { InitializeComponent(); listBox1.DrawMode = DrawM ...
- winForm添加图标
winForm添加图标 ① ②
- Winform编程中的treeview控件
Winform编程中的treeview控件 treeview基础操作 treeview添加.删除节点操作 treeview节点展开与折叠 treeview节点重命名 treeview获取节点集合并设置 ...
- WinForm编程数据视图之DataGridView浅析
学习C#语言的朋友们肯定或多或少地接触到了WinForm编程,在C#语言的可视化IDE中(如VS.NET中)使用设计器可以让我们轻松地完成窗体.按钮.标签.图片框等等控件的组合,我们可以轻易地做出界面 ...
- WinForm下ListBox控件“设置DataSource属性后无法修改项集合”的问题解决方案
在做winform程序开发时,我用DataSource绑定了ListBox中的Item,但是当我进行一些添加.删除操作时就报了这个错"设置DataSource属性后无法修改项集合" ...
- CContextMenuManager上下文菜单管理器以及为菜单添加图标
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在Vis ...
- golang EXE程序添加图标和详细信息(版本号,版权,公司信息等)
golang EXE程序添加图标和详细信息(版本号,版权,公司信息等) 为什么要添加图标和详细信息 作为桌面程序,有一个图标,显得更正式一些.详细信息有版本号方便做版本识别.算了,编不下去了.不管那么 ...
- C# Winform编程自学笔记(一)
内容简介 因为毕业设计要用到,所以计划用一个月的时间自学Winform编程 (2020/3/20-2020/4/17),以下是我的自学笔记,需要的朋友们请自提: 使用教材:<C#Winform实 ...
- MFC 为树形控件添加图标
添加控件,树形控件,静态文本框和编辑框.树形控件属性Has Buttons,Has Lines, Lines At Root 勾选为True. 并为树形控件添加变量,m_webTree 在初始化函数中 ...
最新文章
- 20145217信息安全系统设计基础第11周学习总结
- 基于visual Studio2013解决面试题之1002公共子串
- Docker启动tomcat,访问首页出现404错误
- linux下使用VS CODE + CMAKE 调试C++程序
- VMware vCenter Server安装
- 图片配置文件设置 索尼a7s2_16组Sony索尼系列相机Slog2和Slog3常用Vlog灰片视频电影LTUS调色预设...
- Spring Boot 热部署(转)
- wps linux版本支持vba,Wps vba安装包
- matlab电机系统建模与仿真软件下载,同步电机模型的MATLAB仿真的设计(最终版)...
- java嵌入式软件开发工程师_嵌入式软件工程师笔试题
- LCD12864(ST7565P)字符汉字显示(STM32F103)
- PCB测试流程分析介绍
- ABAP 客户主数据批量导入
- vs2012中将图片放到resource中进行调用
- 自己手写的一个关于中英文切换时间的工具类
- python如何限制字符串长度_python如何修改字符串长度
- DRF--序列化器类中的to_internal_value,to_representation方法,save,create,update方法
- Python基础——计算机组成原理、操作系统概述、编程语言的由来、编程语言分类、python介绍、 安装Cpython解释器、 第一个python程序
- Python生成密码字典教程
- iOS 各视频播放器评价~总结