listBox1_DrawItem
//if (e.Index >= 0)
//{
// e.DrawBackground();
// Color vColor = Color.Gainsboro;
// Graphics devcolor = listBox1.CreateGraphics();
// //vColor = Color.Lime;
// vColor = color[e.Index];
// devcolor.FillRectangle(new SolidBrush(vColor), listBox1.GetItemRectangle(e.Index));
// devcolor.DrawString(listBox1.Items[e.Index].ToString(), listBox1.Font, new SolidBrush(listBox1.ForeColor), listBox1.GetItemRectangle(e.Index));
//}
https://www.cnblogs.com/wenjie0904/p/9615337.html
请教CheckListBox的SelectedIndexChanged事件中如何取当前选择项的index与其它信息
http://www.myexception.cn/c-sharp/73415.html