Да, вы должны быть в состоянии позвонить
System.Windows.Forms.Application.DoEvents()
Из вашей кодовой библиотеки. Кажется, вы понимаете, что DoEvents - плохая идея, поэтому я не уверен, почему вы это называете. Я предполагаю, что вы поместили это в переопределение, например OnVisibleChanged или OnPaint - в этом случае вы, скорее всего, не получите желаемых результатов, так как обновление данных будет приостановлено во время этих операций.
То, что вы, вероятно, хотите сделать, - это создать таймер с одним тактом, и на тике увеличить высоту элемента управления - затем отключить таймер при достижении конечной высоты или назначить другой тик, если нет. Или создайте таймер и поместите вышеупомянутый цикл в него на каждом тике. Убедитесь, что вы знаете о InvokeRequired
и вызовах между потоками в зависимости от того, какой тип таймера вы используете.