mmAppDesktop.FormMgr.Show(new CustomerOrdersForm(), this);will load multiple forms. This is fine for that form, but let's use that example to make it have only one instance at a time.
... namespace Acme.OrderSystem.Main.Windows.Forms { public partial class MainForm : mmMainAppForm { // list of form variables private CustomerOrdersForm customerOrdersForm; ... private void ActivitiesCustomerOrdersBar_Click(object sender, EventArgs e) { // show form once ShowCustomerOrdersForm(); } private void ShowCustomerOrdersForm() { if (customerOrdersForm == null || customerOrdersForm.IsDisposed) { customerOrdersForm= new CustomerOrdersForm(); mmAppDesktop.FormMgr.Show(customerOrdersForm, this); } else { customerOrdersForm.WindowState = FormWindowState.Normal; customerOrdersForm.BringToFront(); } } } }Works fine, but for many forms, the duped code is going to get tedious. Is there a way to make a ShowOnce(form) method, and by reflection get the new instance of the passed form class?