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); 
  • 相关阅读:
    鼠标向下滑动加载div
    选择排序
    插入排序法
    Android问题-Delphi XE5 常用功具与下载
    Android问题-DelphiXE5编义时提示找不到“连接器(arm-linux-androideabi-ld.exe)"
    VisualStudio2010中创建ASP.Net WebService
    delphi调用webservice (.NET C#版)
    delphi 完全控制Excel 文件
    EXCEL 建立工作薄与工作表
    Delphi给窗体镶边-为控件加边框,描边,改变边框颜色
  • 原文地址:https://www.cnblogs.com/zhwl/p/3123444.html
Copyright © 2011-2022 走看看