/// <summary> /// Close and dispose the form. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private static void OnClose(object sender, Bentley.Windowing.ContentCloseEventArgs e) { e.CloseAction = Bentley.Windowing.ContentCloseAction.Dispose; Form1Form.m_windowContent.Hide(); if (null != Form1Form) { Form1Form.DetachFromMicroStation(); Form1Form.Dispose(); Form1Form = null; } }
/// <summary> /// Show the form and attach to Bentley Windows Form Adapter as top level form. /// </summary> /// <param name="unparsed"></param> internal void ShowForm(string unparsed = "") { if (null != Form1Form) { Form1Form.Focus(); return; } Form1Form = new Form1(); Form1Form.AttachAsTopLevelForm(Program.Addin, true); Form1Form.AutoOpen = true; Form1Form.AutoOpenKeyin = "mdl load Form1"; Form1Form.NETDockable = true; Bentley.Windowing.WindowManager windowManager = Bentley.Windowing.WindowManager.GetForMicroStation(); Form1Form.m_windowContent = windowManager.DockPanel(Form1Form, Form1Form.Name, Form1Form.Text, Bentley.Windowing.DockLocation.Floating); Form1Form.m_windowContent.CanDockHorizontally = false; Form1Form.m_windowContent.ContentCloseQuery += OnClose; }