You can obtain this service from the design-time environment object hosting your designer, which will implement System.IServiceProvider (that's the Site for a Component ). It can be used to obtain various functions that you may require to present your designer's UI. CanShowComponentEditor() determines whether the environment supports the display of a ComponentEditorForm for the specified component. You can then use ShowComponentEditor() to show the editor. ShowDialog() will display the specified Form modally, returning a System.Windows.Forms.DialogResult . ShowMessage( ) and ShowError() display a message in a message box, with the appropriate warning icon, and ShowToolWindow() displays the tool window with the specified Guid . (Some standard GUIDs can be found in the System.ComponentModel.Design.StandardToolWindows class). You can also mark the UI as dirty (and therefore needing an update), with SetUIDirty() , and retrieve a System.Windows.Forms.IWin32Window to use as the owner for your dialogs with the GetDialogOwnerWindow() method. public interface IUIService { // Public Instance Properties public IDictionary Styles {get; } // Public Instance Methods public bool CanShowComponentEditor (object component ); public IWin32Window GetDialogOwnerWindow (); public void SetUIDirty (); public bool ShowComponentEditor (object component , System.Windows.Forms.IWin32Window parent ); public DialogResult ShowDialog (System.Windows.Forms.Form form ); public void ShowError (Exception ex ); public void ShowError (Exception ex , string message ); public void ShowError (string message ); public DialogResult ShowMessage (string message , string caption , System.Windows.Forms.MessageBoxButtons buttons ); public void ShowMessage (string message ); public void ShowMessage (string message , string caption ); public bool ShowToolWindow (Guid toolWindow ); } |