StarKill, te comento que ya alguna vez me "sentí muy listo"

haciendo un formulario que se adaptara según el caso; mostraba u ocultaba controles, hacía o no algunas validaciones, buscaba en unas u otras bases, etc. según el caso con la "genial" idea de reutilizar el código.
Pero bastante caro he pagado eso. El resultado fué un complejísimocódigo lleno de ifs-elses y cases que daba dolor de cabeza sólo mirarlo.
En mi caso llegué a la conclusión de que la mejor opción es la herencia de formularios. Dejar el código común en el formulario ancestro y el código de cada caso en el respectivo descendiente. A la larga tendrás un código mucho más entendible y claro y por ende más fácil de mantener.
// Saludos