private void OpenForm(Type t)
{
if(!typeof(Form).IsAssignableFrom(t))
throw new ArgumentException("Required description of Form Type", "t");
if (OpenedForm != null)
OpenedForm.Dispose(); //will also close a Form
OpenedForm = (Form)Activator.CreateInstance(t);
OpenedForm.Show();
OpenedForm.WindowState = FormWindowState.Maximized;
}
Now you can pass only Type
metadata of Form
class or it's derived one. So if you do:
OpenForm(typeof(Form));
A new empty form will be created and opened