The problem is not optimizing the code, it's avoiding that final data reload.
The check only allows you to see the effect without removing the data, or assigning it.
The function, I want to use it in ALL combos in my app, so I can't use an initial global variable, or at least, that's not the problem.
The point is that the color does not change immediately. That is, the control is PAINTED first, then the color changes, but is not displayed, until the next interaction with the control. Thanks for the input though.