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); 
  • 相关阅读:
    C#listbox使用方法
    poj 3894 System Engineer (二分图最大匹配--匈牙利算法)
    Java实现 蓝桥杯VIP 算法训练 连接字符串
    Java实现 蓝桥杯VIP 算法训练 连接字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 比较字符串
    Java实现 蓝桥杯VIP 算法训练 黑白无常
  • 原文地址:https://www.cnblogs.com/zhwl/p/3123444.html
Copyright © 2011-2022 走看看