• 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); } }
  • 相关阅读:
    微信小程序入门实例
    textarea 的value值以及演示
    Think php (TP5) 批量删除全部源码
    Think php TP5 CURD 增删改查全部源码
    TP5 Think php 批量添加全部源码
    centos7 supervisor管理redis
    Centos7 设置redis开机自启
    Centos7安装gearman和php扩展
    nginx-403
    FFmpeg-截取视频图片
  • 原文地址:https://www.cnblogs.com/lthxk-yl/p/6814242.html
Copyright © 2020-2023  润新知