zoukankan      html  css  js  c++  java
  • c# 实现 ListBox 每一列可以有各自的颜色

    上图是想实现的效果, 注意不是所有行一个颜色 

    首先把  listbox 的 DrawMode 属性 改为 OwnerDrawFixed

    然后 override listbox 的 函数 DrawItem  系统重命名为 listBox1_DrawItem

            private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
            {
    
    
                e.DrawBackground();          //先调用基类实现
    
                if (e.Index < 0)            //form load 的时候return
                    return;
                
                //因为此函数每一个 listItem drawing 都要调用, 所以不能简单的只写e.Graphics.DrawString(listBox1.Items[e.Index].ToString(),e.Font, Brushes.Red, e.Bounds);
           //那样会造成所有item一个颜色
    //这里是用item字符串是否包含某些词决定的 , 不好
    if (listBox1.Items[e.Index].ToString().Contains("error")) { e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), e.Font, Brushes.Red, e.Bounds); } else if (listBox1.Items[e.Index].ToString().Contains("warn")) { e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), e.Font, Brushes.Red, e.Bounds); } else { e.Graphics.DrawString(((ListBox)sender).Items[e.Index].ToString(), e.Font, Brushes.Black, e.Bounds); } }
  • 相关阅读:
    VBA Exit Do语句
    VBA Exit For语句
    VBA Do...While循环
    VBA While Wend循环
    VBA For Each循环
    VBA for循环
    sqoop 教案
    Hbase 取数据 和放数据 使用mr
    Hbase 四种过滤器
    Hbase java API 的方法
  • 原文地址:https://www.cnblogs.com/lthxk-yl/p/6814242.html
Copyright © 2011-2022 走看看