zoukankan      html  css  js  c++  java
  • C# Winform编程ListBox之添加图标

     先上图:

    这里添加固定的图片的。

    代码:

    1. private Color RowBackColorAlt=Color.FromArgb(200,200,200);//交替色 
    2. private Color RowBackColorSel = Color.FromArgb(150, 200, 250);//选择项目颜色 
    3.  
    4. public Form1() 
    5.     InitializeComponent();             
    6.     listBox1.DrawMode = DrawMode.OwnerDrawFixed; 
    7.     listBox1.ItemHeight = 24; 
    8.  
    9. private void listBox1_DrawItem(object sender, DrawItemEventArgs e) 
    10.     Brush myBrush = Brushes.Black; 
    11.  
    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.     //绘制图标 
    28.     Image image = Image.FromFile("images/item.png"); 
    29.     Graphics g = e.Graphics; 
    30.     Rectangle bounds = e.Bounds; 
    31.     Rectangle imageRect = new Rectangle( 
    32.         bounds.X, 
    33.         bounds.Y, 
    34.         bounds.Height, 
    35.         bounds.Height); 
    36.     Rectangle textRect = new Rectangle( 
    37.         imageRect.Right, 
    38.         bounds.Y, 
    39.         bounds.Width - imageRect.Right, 
    40.         bounds.Height); 
    41.  
    42.     if (image != null
    43.     { 
    44.         g.DrawImage( 
    45.             image, 
    46.             imageRect, 
    47.             0, 
    48.             0, 
    49.             image.Width, 
    50.             image.Height, 
    51.             GraphicsUnit.Pixel); 
    52.     } 
    53.  
    54.     //文本 
    55.     StringFormat strFormat = new StringFormat(); 
    56.     //strFormat.Alignment = StringAlignment.Center; 
    57.     strFormat.LineAlignment = StringAlignment.Center; 
    58.     e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), textRect,strFormat); 
  • 相关阅读:
    扫目录过狗过waf方法
    https://www.webshell.cc/6274.html
    使用WireShark生成地理位置数据地图
    Aircrack-ng 扩展 : Marfil 分布式破解WIFI
    秒爆十万字典:奇葩技巧快速枚举“一句话后门”密码
    Python使用python-nmap模块实现端口扫描器
    Pandas之索引
    pandas之时间序列
    Pandas之分组
    Pandas学习笔记(一)
  • 原文地址:https://www.cnblogs.com/zhwl/p/3123444.html
Copyright © 2011-2022 走看看