не знаю что такое repaint, но у контрола должен быть метод, который забракует его отрисовку и заставит вызвать paint. обычно он называется invalidate. а если код отрисовки выполняется не при системном вызове paint, то ничего хорошего (или вообще ничего) пользователь не увидит.