/// <summary> /// Implements the OnStartup event /// </summary> /// <param name="application"></param> /// <returns></returns> public Result OnStartup(UIControlledApplication application) { m_MyForm = null; // no dialog needed yet; the command will bring it thisApp = this; // static access to this application instance 单例模式 return(Result.Succeeded); }
/// <summary> /// This method creates and shows a modeless dialog, unless it already exists. /// </summary> /// <remarks> /// The external command invokes this on the end-user's request /// </remarks> /// public void ShowForm(UIApplication uiapp) { // If we do not have a dialog yet, create and show it if (m_MyForm == null || m_MyForm.IsDisposed) { // A new handler to handle request posting by the dialog RequestHandler handler = new RequestHandler(); // External Event for the dialog to use (to post requests) ExternalEvent exEvent = ExternalEvent.Create(handler); // We give the objects to the new dialog; // The dialog becomes the owner responsible fore disposing them, eventually. m_MyForm = new ModelessForm(exEvent, handler); m_MyForm.Show(); } }