When nothing happens in your program it does nothing, so in an idle application there are no real frames.
And that's why there is the Application.Idle
event. It happens every time the application finishes doing whatever it has to do.
Something like that:
//somewhere in the initialization function:
Application.Idle += OnIdle;
void OnIdle(object sender, EventArgs e)
{
updateComponents();
renderComponents();
}
NOTE: According to the documentation you have to detach it somewhen in the future:
//finalization function
Application.Idle -= OnIdle;