UModel IDE plug-ins must implement the IUModelPlugIn interface. The code below shows a simple implementation of this interface. It adds a menu item and a separator (available with UModel) to the Edit menu. Clicking the menu item will display a message box with the text "Hello, World!". 
 
| Note: | Since this sample displays a message box, ensure that your C# project also references System.Windows.Forms. To do this, right-click References in Solution Explorer, select Add Reference, and browse for the System.Windows.Forms assembly). | 
 
using System; using System.Collections.Generic; using System.Text; using UModelPlugInLib;   namespace HelloWorldPlugIn {     public class MyHelloWorldUModelPlugIn : IUModelPlugIn     {         #region IUModelPlugIn Members           public string GetDescription()         {             return "HelloWorldPlugIn;HelloWorldPlugIn demonstrates a simple implementation of an IDE plug-in for UModel";         }           public string GetUIModifications()         {             return  "<ConfigurationData>"                         +                          "<Modifications>"                         +                             // add "Hello World..." to Edit menu                             "<Modification>"                      +                                 "<Action>Add</Action>"            +                                 "<UIElement type=\"MenuItem\">"   +                                     "<ID>1</ID>"                  +                                     "<Name>Hello world...</Name>" +                                     "<Info>My hello world</Info>" +                                     "<Place>0</Place>"            +                                     "<MenuID>101</MenuID>"        +                                     "<Parent>:Edit</Parent>"      +                                 "</UIElement>"                    +                             "</Modification>"                     +                         // add Separator to Edit menu                             "<Modification>"                      +                                 "<Action>Add</Action>"            +                                 "<UIElement type=\"MenuItem\">"   +                                     "<ID>0</ID>"                  +                                     "<Place>1</Place>"            +                                     "<MenuID>101</MenuID>"        +                                     "<Parent>:Edit</Parent>"      +                                 "</UIElement>"                    +                             "</Modification>"                     +                        // finish modification description                        "</Modifications>"                         +                     "</ConfigurationData>";         }           public void OnInitialize(object pUModel)         {             // before processing DDE or batch commands         }           public void OnRunning(object pUModel)         {             // DDE or batch commands are processed; application is fully initialized         }           public void OnShutdown(object pUModel)         {             // application will shutdown; release all unused objects         }           public UModelUpdateAction OnUpdateCommand(int nID, object pUModel)         {             if (nID == 1)                 return UModelUpdateAction.UModelUpdateAction_Enable;               return UModelUpdateAction.UModelUpdateAction_Disable;         }           public void OnCommand(int nID, object pUModel)         {             System.Windows.Forms.MessageBox.Show("Hello world!");         }           #endregion     } }  |