I have set up an interface where a user can click on a button and a richtextbox (with ribbon interface) opens. It works perfectly, but the first time it opens there is a small delay, maybe 1-2 seconds, after the button is pressed and the richtextbox opens (all is done in code behind). All subsequent actions are instant. Is there a best practice to preload the controls so that the user doesn't experience this? (worst-case scenario is a loading animation, but how to do that with controls?)