名单对比

C#

老子叫甜甜 提交于 2020-03-01 16:33:21
一、写在前面 在工作中需要实现一个场景,有一个名单类的数据需要维护,这个维护工作需要有一个复核功能,为了方便复核时对名单变更情况有一个良好的掌握,需要做一个便跟前后名单的对比功能。 功能实现后效果如下图: 其中,修改前名单、修改后名单、前后名单对比三个部分都使用了封装后的ListView控件保存数据 二、步骤一:封装ListView 封装ListView主要是为了保证对“前后名单对比”部分数据的着色。虽然微软原生的ListView就支持了对数据项进行着色,但因为“前后名单对比”部分使用了分组功能,点击分组标题时,默认选中分组内的全部数据,这回导致分组内的数据颜色都变为黑色。为改变这一情况,我们需要创建一个继承ListView的类ListViewEnhanced,代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Windows.Forms; namespace NameListComparer { class ListViewEnhanced : ListView { /// <summary> /// call SendMessage using