A splash screen is one possible solution, but (in my personal opinion) only suited for program start. If I were a user, I would run havoc if every time I open a dialog, there's a short splash screen showing up for a second or ten, before seeing the actual window.
Depends a lot on the design concepts you try to adhere to of course, but (again just imho) a waiting display state for the form is more user friendly than splash screens.
And if you have multiple non-modal forms for example, a splash screen is even more out of question (again: imho!).