home *** CD-ROM | disk | FTP | other *** search
/ Programming in Microsoft Windows with C# / Programacion en Microsoft Windows con C#.iso / Original Code / Toolbars and Status Bars / MenuHelpSubclass / MenuHelpSubclass.cs next >
Encoding:
Text File  |  2001-01-15  |  3.0 KB  |  94 lines

  1. //-----------------------------------------------
  2. // MenuHelpSubclass.cs ⌐ 2001 by Charles Petzold
  3. //-----------------------------------------------
  4. using System;
  5. using System.Drawing;
  6. using System.Windows.Forms;
  7.  
  8. class MenuHelpSubclass: Form
  9. {
  10.      StatusBarPanel sbpMenuHelp;
  11.      string         strSavePanelText;
  12.  
  13.      public static void Main()
  14.      {
  15.           Application.Run(new MenuHelpSubclass());
  16.      }
  17.      public MenuHelpSubclass()
  18.      {
  19.           Text = "Menu Help";
  20.           BackColor = SystemColors.Window;
  21.           ForeColor = SystemColors.WindowText;
  22.  
  23.                // Create a status bar with one panel.
  24.  
  25.           StatusBar sb = new StatusBar();
  26.           sb.Parent = this;
  27.           sb.ShowPanels = true;
  28.  
  29.           sbpMenuHelp = new StatusBarPanel();
  30.           sbpMenuHelp.Text = "Ready";
  31.           sbpMenuHelp.AutoSize = StatusBarPanelAutoSize.Spring;
  32.  
  33.           sb.Panels.Add(sbpMenuHelp);
  34.  
  35.                // Construct a simple menu with MenuItemHelp items.
  36.  
  37.           Menu = new MainMenu();
  38.           
  39.                // Create File menu items.
  40.  
  41.           MenuItemHelp mi = new MenuItemHelp("&File");
  42.           mi.HelpPanel = sbpMenuHelp;
  43.           mi.HelpText = "Commands for working with files";
  44.           Menu.MenuItems.Add(mi);
  45.  
  46.           mi = new MenuItemHelp("&Open...");
  47.           mi.HelpPanel = sbpMenuHelp;
  48.           mi.HelpText = "Opens an existing document";
  49.           Menu.MenuItems[0].MenuItems.Add(mi);
  50.           
  51.           mi = new MenuItemHelp("&Close");
  52.           mi.HelpPanel = sbpMenuHelp;
  53.           mi.HelpText = "Closes the current document";
  54.           Menu.MenuItems[0].MenuItems.Add(mi);
  55.  
  56.           mi = new MenuItemHelp("&Save");
  57.           mi.HelpPanel = sbpMenuHelp;
  58.           mi.HelpText = "Saves the current document";
  59.           Menu.MenuItems[0].MenuItems.Add(mi);
  60.  
  61.                // Create Edit menu items.
  62.  
  63.           mi = new MenuItemHelp("&Edit");
  64.           mi.HelpPanel = sbpMenuHelp;
  65.           mi.HelpText = "Commands for editing the document";
  66.           Menu.MenuItems.Add(mi);
  67.  
  68.           mi = new MenuItemHelp("Cu&t");
  69.           mi.HelpPanel = sbpMenuHelp;
  70.           mi.HelpText = "Deletes the selection and " +
  71.                         "copies it to the clipboard";
  72.           Menu.MenuItems[1].MenuItems.Add(mi);
  73.           
  74.           mi = new MenuItemHelp("&Copy");
  75.           mi.HelpPanel = sbpMenuHelp;
  76.           mi.HelpText = "Copies the selection to the clipboard";
  77.           Menu.MenuItems[1].MenuItems.Add(mi);
  78.  
  79.           mi = new MenuItemHelp("&Paste");
  80.           mi.HelpPanel = sbpMenuHelp;
  81.           mi.HelpText = "Replaces the current selection " +
  82.                         "with the clipboard contents";
  83.           Menu.MenuItems[1].MenuItems.Add(mi);
  84.      }
  85.      protected override void OnMenuStart(EventArgs ea)
  86.      {
  87.           strSavePanelText = sbpMenuHelp.Text;
  88.      }
  89.      protected override void OnMenuComplete(EventArgs ea)
  90.      {
  91.           sbpMenuHelp.Text = strSavePanelText;
  92.      }
  93. }
  94.