c# - Initialize windows form object dynamically -
how can dynamically initialize win form. in application having numerous forms, more 50 , below code repeated many times..
so want create function , job. how can create new () instance
of particular form.
appreciated.
private void showform(object frm) { if (frm == null || frm.isdisposed) { frm = new <<here class name>> { mdiparent = }; frm.show(); frm.windowstate = formwindowstate.maximized; } else { frm.activate(); } }
if know type
use, can use activator.createinstance
:
private void showform(form form, type type) { if (form == null || form.isdisposed) { form = (form) activator.createinstance(type); form.mdiparent = this; form.show(); form.windowstate = formwindowstate.maximized; } else { form.activate(); } }
or if you're calling different places , know @ compile-time type use:
private void showform<t>(t form) t : form, new() { if (form == null || form.isdisposed) { form = new t(); form.mdiparent = this; form.show(); form.windowstate = formwindowstate.maximized; } else { form.activate(); } }
Comments
Post a Comment