先上图:

这里添加固定的图片的。

代码:

  1. private Color RowBackColorAlt=Color.FromArgb(200,200,200);//交替色
  2. private Color RowBackColorSel = Color.FromArgb(150, 200, 250);//选择项目颜色
  3. public Form1()
  4. {
  5. InitializeComponent();
  6. listBox1.DrawMode = DrawMode.OwnerDrawFixed;
  7. listBox1.ItemHeight = 24;
  8. }
  9. private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
  10. {
  11. Brush myBrush = Brushes.Black;
  12. if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
  13. {
  14. myBrush = new SolidBrush(RowBackColorSel);
  15. }
  16. else if (e.Index % 2 == 0)
  17. {
  18. myBrush = new SolidBrush(RowBackColorAlt);
  19. }
  20. else
  21. {
  22. myBrush = new SolidBrush(Color.White);
  23. }
  24. e.Graphics.FillRectangle(myBrush, e.Bounds);
  25. e.DrawFocusRectangle();//焦点框
  26. //绘制图标
  27. Image image = Image.FromFile("images/item.png");
  28. Graphics g = e.Graphics;
  29. Rectangle bounds = e.Bounds;
  30. Rectangle imageRect = new Rectangle(
  31. bounds.X,
  32. bounds.Y,
  33. bounds.Height,
  34. bounds.Height);
  35. Rectangle textRect = new Rectangle(
  36. imageRect.Right,
  37. bounds.Y,
  38. bounds.Width - imageRect.Right,
  39. bounds.Height);
  40. if (image != null)
  41. {
  42. g.DrawImage(
  43. image,
  44. imageRect,
  45. 0,
  46. 0,
  47. image.Width,
  48. image.Height,
  49. GraphicsUnit.Pixel);
  50. }
  51. //文本
  52. StringFormat strFormat = new StringFormat();
  53. //strFormat.Alignment = StringAlignment.Center;
  54. strFormat.LineAlignment = StringAlignment.Center;
  55. e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), textRect,strFormat);
  56. }

C# Winform编程ListBox之添加图标相关推荐

  1. C# Winform编程ListBox之DrawItem事件

    新建一个winform项目,拖一个ListBox控件listBox1 public Form1() { InitializeComponent(); listBox1.DrawMode = DrawM ...

  2. winForm添加图标

    winForm添加图标 ① ②

  3. Winform编程中的treeview控件

    Winform编程中的treeview控件 treeview基础操作 treeview添加.删除节点操作 treeview节点展开与折叠 treeview节点重命名 treeview获取节点集合并设置 ...

  4. WinForm编程数据视图之DataGridView浅析

    学习C#语言的朋友们肯定或多或少地接触到了WinForm编程,在C#语言的可视化IDE中(如VS.NET中)使用设计器可以让我们轻松地完成窗体.按钮.标签.图片框等等控件的组合,我们可以轻易地做出界面 ...

  5. WinForm下ListBox控件“设置DataSource属性后无法修改项集合”的问题解决方案

    在做winform程序开发时,我用DataSource绑定了ListBox中的Item,但是当我进行一些添加.删除操作时就报了这个错"设置DataSource属性后无法修改项集合" ...

  6. CContextMenuManager上下文菜单管理器以及为菜单添加图标

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在Vis ...

  7. golang EXE程序添加图标和详细信息(版本号,版权,公司信息等)

    golang EXE程序添加图标和详细信息(版本号,版权,公司信息等) 为什么要添加图标和详细信息 作为桌面程序,有一个图标,显得更正式一些.详细信息有版本号方便做版本识别.算了,编不下去了.不管那么 ...

  8. C# Winform编程自学笔记(一)

    内容简介 因为毕业设计要用到,所以计划用一个月的时间自学Winform编程 (2020/3/20-2020/4/17),以下是我的自学笔记,需要的朋友们请自提: 使用教材:<C#Winform实 ...

  9. MFC 为树形控件添加图标

    添加控件,树形控件,静态文本框和编辑框.树形控件属性Has Buttons,Has Lines, Lines At Root 勾选为True. 并为树形控件添加变量,m_webTree 在初始化函数中 ...

最新文章

  1. 20145217信息安全系统设计基础第11周学习总结
  2. 基于visual Studio2013解决面试题之1002公共子串
  3. Docker启动tomcat,访问首页出现404错误
  4. linux下使用VS CODE + CMAKE 调试C++程序
  5. VMware vCenter Server安装
  6. 图片配置文件设置 索尼a7s2_16组Sony索尼系列相机Slog2和Slog3常用Vlog灰片视频电影LTUS调色预设...
  7. Spring Boot 热部署(转)
  8. wps linux版本支持vba,Wps vba安装包
  9. matlab电机系统建模与仿真软件下载,同步电机模型的MATLAB仿真的设计(最终版)...
  10. java嵌入式软件开发工程师_嵌入式软件工程师笔试题
  11. LCD12864(ST7565P)字符汉字显示(STM32F103)
  12. PCB测试流程分析介绍
  13. ABAP 客户主数据批量导入
  14. vs2012中将图片放到resource中进行调用
  15. 自己手写的一个关于中英文切换时间的工具类
  16. python如何限制字符串长度_python如何修改字符串长度
  17. DRF--序列化器类中的to_internal_value,to_representation方法,save,create,update方法
  18. Python基础——计算机组成原理、操作系统概述、编程语言的由来、编程语言分类、python介绍、 安装Cpython解释器、 第一个python程序
  19. Python生成密码字典教程
  20. iOS 各视频播放器评价~总结

热门文章

  1. 安装grid后启动asm报ORA-15149错误
  2. Android WebView 支持H5的定位Js
  3. SRM598 Div1
  4. apache 支持gzip
  5. Yahoo!网站性能最佳体验的34条黄金守则
  6. 设计模式 — 结构型模式 — 代理模式
  7. Linux Kernel TCP/IP Stack — Socket Layer
  8. 计算机网络基础 — 网络设备 — 网桥(Bridge)
  9. 5G NGC — 关键技术 — R15 SBA
  10. NanoPi NEO Air使用三:OverlayFS、CPU温度和频率、wifi、蓝牙、npi-config