I would strongly suggest using a datagrid rather then a checked list box. It will save you many future head aches. The way to change the background color conditionally is to create a new control and inherit the datagridboolcolumn. and override the "Paint". In the code for your override paint sub Do all your conditional formating then just call mybase.paint, and substitute the background, or foreground color that you chose based on your conditional formating. If you have any issues let me know, and I can give you some working code on this. Check out syncfusion conditional format datagrid, and you should be led to a article that explains this step by step.