ToolBar Linked With Menu : Toolbar « GUI Windows Forms « C# / CSharp Tutorial






ToolBar Linked With Menu
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

public class ToolBarLinkedWithMenu : System.Windows.Forms.Form
{
  private System.Windows.Forms.MainMenu mainMenu1;
  private System.Windows.Forms.MenuItem mnuNew;
  private System.Windows.Forms.MenuItem mnuFile;
  private System.Windows.Forms.MenuItem mnuFileOpen;
  private System.Windows.Forms.MenuItem mnuFileClose;
  private System.Windows.Forms.MenuItem mnuFileSave;
  private System.Windows.Forms.MenuItem mnuFileSaveAs;
  private System.Windows.Forms.MenuItem mnuEdit;
  private System.Windows.Forms.MenuItem mnuEditCopy;
  private System.Windows.Forms.MenuItem mnuEditPaste;
  private System.Windows.Forms.MenuItem mnuOption1;
  private System.Windows.Forms.MenuItem mnuOption2;
  private System.Windows.Forms.MenuItem mnuOption3;
  private System.Windows.Forms.MenuItem mnuROption1;
  private System.Windows.Forms.MenuItem mnuROption2;
  private System.Windows.Forms.MenuItem mnuROption3;
  private System.Windows.Forms.MenuItem mnuWindow;
  private System.Windows.Forms.MenuItem mnuOptions;
  private System.Windows.Forms.MenuItem mnuRadioOptions;
  private System.Windows.Forms.MenuItem mnuMenu1;
  private System.Windows.Forms.MenuItem mnuMenu11;
  private System.Windows.Forms.MenuItem mnuMenu12;
  private System.Windows.Forms.MenuItem mnuMenu13;
  private System.Windows.Forms.MenuItem mnuMenu14;
  private System.Windows.Forms.MenuItem mnuMenu2;
  private System.Windows.Forms.MenuItem mnuMenu21;
  private System.Windows.Forms.MenuItem mnuMenu22;
  private System.Windows.Forms.MenuItem mnuMenu23;
  private System.Windows.Forms.MenuItem mnuMenu24;
  private System.Windows.Forms.MenuItem mnuMerge;
  private System.Windows.Forms.MenuItem mnuODShazam;

  private string[] files = { "YourFile.bmp", "YourFile.bmp" };
  private System.Windows.Forms.MenuItem mnuODVote;
  private System.Windows.Forms.MenuItem mnuSpecial;

  private System.Windows.Forms.ToolBar toolBar1;
  private System.Windows.Forms.ImageList imgListFileButtons;

  private System.ComponentModel.Container components = null;

  public ToolBarLinkedWithMenu()
  {
    InitializeComponent();
    CreateImageList();
    InitializeToolbar();
  }

  private void InitializeToolbar()
  {
    toolBar1 = new ToolBar();
    toolBar1.ImageList = imgListFileButtons;

    ToolBarButton btnNew = new ToolBarButton();
    btnNew.Tag = mnuNew;
    btnNew.Enabled = true;
    btnNew.ImageIndex = 0; // new file
    btnNew.Pushed = false;
    btnNew.Style = ToolBarButtonStyle.PushButton;
    btnNew.Text= "New";
    btnNew.ToolTipText = "New document";
    btnNew.Visible = true;
    toolBar1.Buttons.Add(btnNew);

    ToolBarButton btnOpen = new ToolBarButton();
    btnOpen.Tag = mnuFileOpen;
    btnOpen.Enabled = true;
    btnOpen.ImageIndex = 1; // open file
    btnOpen.Pushed = false;
    btnOpen.Style = ToolBarButtonStyle.PushButton;
    btnOpen.Text = "Open";
    btnOpen.ToolTipText = "Open a document";
    btnOpen.Visible = true;
    toolBar1.Buttons.Add(btnOpen);


    ToolBarButton btnSave = new ToolBarButton();
    btnSave.Tag = mnuFileSave;
    btnSave.Enabled = true;
    btnSave.ImageIndex = 3; // save file
    btnSave.Pushed = false;
    btnSave.Style = ToolBarButtonStyle.PushButton;
    btnSave.Text = "Save";
    btnSave.ToolTipText = "Save document";
    btnSave.Visible = true;
    toolBar1.Buttons.Add(btnSave);

    ComboBox cb = new ComboBox();
    cb.Left = 150;
    cb.Top = 5;
    cb.Items.Add("Alabama");
    cb.Items.Add("Alaska");
    cb.Items.Add("Arizona");
    cb.Items.Add("Arkansas");
    ToolTip tip = new ToolTip();
    tip.AutomaticDelay = 500;
    // tip.AutoPopDelay = 10 times AutomaticDelay
    // tip.InitialDelay = AutomaticDelay
    //tip.ReshowDelay = 1/5 AutomaticDelay
    tip.ShowAlways = true; // display even if control is disabled
    tip.SetToolTip(cb,"Pick a state");
    toolBar1.Controls.Add(cb);

    toolBar1.Parent = this;
    toolBar1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
    toolBar1.DropDownArrows = true;
    toolBar1.Name = "toolBar1";
    toolBar1.ShowToolTips = true;
    toolBar1.Size = new System.Drawing.Size(440, 41);
    toolBar1.TabIndex = 1;
    toolBar1.ButtonClick += 
      new System.Windows.Forms.ToolBarButtonClickEventHandler(
        toolBar1_ButtonClick);

  }

  private void CreateImageList()
  {
    imgListFileButtons = new ImageList();
    Image img;

    String[] arFiles = { "1.ico", "2.ico", "3.ico", "4.ico" };

    for (int i = 0; i < arFiles.Length; i++)
    {
      img = Image.FromFile(arFiles[i]);
      imgListFileButtons.Images.Add(img);
    }
  }

  protected override void Dispose( bool disposing )
  {
    if( disposing )
    {
      if (components != null) 
      {
        components.Dispose();
      }
    }
    base.Dispose( disposing );
  }

  private void InitializeComponent()
  {
    this.mainMenu1 = new System.Windows.Forms.MainMenu();
    this.mnuFile = new System.Windows.Forms.MenuItem();
    this.mnuNew = new System.Windows.Forms.MenuItem();
    this.mnuFileOpen = new System.Windows.Forms.MenuItem();
    this.mnuFileClose = new System.Windows.Forms.MenuItem();
    this.mnuFileSave = new System.Windows.Forms.MenuItem();
    this.mnuFileSaveAs = new System.Windows.Forms.MenuItem();
    this.mnuEdit = new System.Windows.Forms.MenuItem();
    this.mnuEditCopy = new System.Windows.Forms.MenuItem();
    this.mnuEditPaste = new System.Windows.Forms.MenuItem();
    this.mnuOptions = new System.Windows.Forms.MenuItem();
    this.mnuOption1 = new System.Windows.Forms.MenuItem();
    this.mnuOption2 = new System.Windows.Forms.MenuItem();
    this.mnuOption3 = new System.Windows.Forms.MenuItem();
    this.mnuRadioOptions = new System.Windows.Forms.MenuItem();
    this.mnuROption1 = new System.Windows.Forms.MenuItem();
    this.mnuROption2 = new System.Windows.Forms.MenuItem();
    this.mnuROption3 = new System.Windows.Forms.MenuItem();
    this.mnuWindow = new System.Windows.Forms.MenuItem();
    this.mnuMenu1 = new System.Windows.Forms.MenuItem();
    this.mnuMenu11 = new System.Windows.Forms.MenuItem();
    this.mnuMenu12 = new System.Windows.Forms.MenuItem();
    this.mnuMenu13 = new System.Windows.Forms.MenuItem();
    this.mnuMenu14 = new System.Windows.Forms.MenuItem();
    this.mnuMerge = new System.Windows.Forms.MenuItem();
    this.mnuMenu2 = new System.Windows.Forms.MenuItem();
    this.mnuMenu21 = new System.Windows.Forms.MenuItem();
    this.mnuMenu22 = new System.Windows.Forms.MenuItem();
    this.mnuMenu23 = new System.Windows.Forms.MenuItem();
    this.mnuMenu24 = new System.Windows.Forms.MenuItem();
    this.mnuSpecial = new System.Windows.Forms.MenuItem();
    this.mnuODVote = new System.Windows.Forms.MenuItem();
    this.mnuODShazam = new System.Windows.Forms.MenuItem();
    // 
    // mainMenu1
    // 
    this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
          this.mnuFile,
          this.mnuEdit,
          this.mnuOptions,
          this.mnuRadioOptions,
          this.mnuSpecial,
          this.mnuWindow,
          this.mnuMenu1,
                                          this.mnuMenu2});
    // 
    // mnuFile
    // 
    this.mnuFile.Index = 0;
    this.mnuFile.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
            this.mnuNew,
            this.mnuFileOpen,
            this.mnuFileClose,
            this.mnuFileSave,
            this.mnuFileSaveAs});
    this.mnuFile.Text = "File";
    // 
    // mnuNew
    // 
    this.mnuNew.Index = 0;
    this.mnuNew.Shortcut = System.Windows.Forms.Shortcut.CtrlN;
    this.mnuNew.Text = "&New";
    // 
    // mnuFileOpen
    // 
    this.mnuFileOpen.Index = 1;
    this.mnuFileOpen.Text = "Open";
    // 
    // mnuFileClose
    // 
    this.mnuFileClose.Index = 2;
    this.mnuFileClose.Text = "Close";
    // 
    // mnuFileSave
    // 
    this.mnuFileSave.Index = 3;
    this.mnuFileSave.Text = "Save";
    // 
    // mnuFileSaveAs
    // 
    this.mnuFileSaveAs.Index = 4;
    this.mnuFileSaveAs.Text = "Save&As";
    // 
    // mnuEdit
    // 
    this.mnuEdit.Index = 1;
    this.mnuEdit.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
        this.mnuEditCopy,
        this.mnuEditPaste});
    this.mnuEdit.Text = "Edit";
    // 
    // mnuEditCopy
    // 
    this.mnuEditCopy.Index = 0;
    this.mnuEditCopy.Text = "&Copy";
    // 
    // mnuEditPaste
    // 
    this.mnuEditPaste.Index = 1;
    this.mnuEditPaste.Text = "Paste";
    // 
    // mnuOptions
    // 
    this.mnuOptions.Index = 2;
    this.mnuOptions.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
          this.mnuOption1,
          this.mnuOption2,
          this.mnuOption3});
    this.mnuOptions.Text = "Options";
    // 
    // mnuOption1
    // 
    this.mnuOption1.Index = 0;
    this.mnuOption1.Text = "Option1";
    // 
    // mnuOption2
    // 
    this.mnuOption2.Index = 1;
    this.mnuOption2.Text = "Option2";
    // 
    // mnuOption3
    // 
    this.mnuOption3.Index = 2;
    this.mnuOption3.Text = "Option3";
    // 
    // mnuRadioOptions
    // 
    this.mnuRadioOptions.Index = 3;
    this.mnuRadioOptions.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
        this.mnuROption1,
        this.mnuROption2,
        this.mnuROption3});
    this.mnuRadioOptions.Text = "Radio Options";
    // 
    // mnuROption1
    // 
    this.mnuROption1.Index = 0;
    this.mnuROption1.RadioCheck = true;
    this.mnuROption1.Text = "Radio Option 1";
    // 
    // mnuROption2
    // 
    this.mnuROption2.Index = 1;
    this.mnuROption2.RadioCheck = true;
    this.mnuROption2.Text = "Radio Option 2";
    // 
    // mnuROption3
    // 
    this.mnuROption3.Index = 2;
    this.mnuROption3.RadioCheck = true;
    this.mnuROption3.Text = "Radio Option 3";
    // 
    // mnuWindow
    // 
    this.mnuWindow.Index = 5;
    this.mnuWindow.MdiList = true;
    this.mnuWindow.MergeOrder = 99;
    this.mnuWindow.Text = "&Window";
    // 
    // mnuMenu1
    // 
    this.mnuMenu1.Index = 6;
    this.mnuMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
       this.mnuMenu11,
       this.mnuMenu12,
       this.mnuMenu13,
       this.mnuMenu14,
       this.mnuMerge});
    this.mnuMenu1.Text = "Menu 1";
    // 
    // mnuMenu11
    // 
    this.mnuMenu11.Index = 0;
    this.mnuMenu11.MergeOrder = 1;
    this.mnuMenu11.Text = "Menu 1.1";
    // 
    // mnuMenu12
    // 
    this.mnuMenu12.Index = 1;
    this.mnuMenu12.MergeOrder = 2;
    this.mnuMenu12.Text = "Menu 1.2";
    // 
    // mnuMenu13
    // 
    this.mnuMenu13.Index = 2;
    this.mnuMenu13.MergeOrder = 3;
    this.mnuMenu13.Text = "Menu 1.3";
    // 
    // mnuMenu14
    // 
    this.mnuMenu14.Index = 3;
    this.mnuMenu14.MergeOrder = 4;
    this.mnuMenu14.Text = "Menu 1.4";
    // 
    // mnuMerge
    // 
    this.mnuMerge.Index = 4;
    this.mnuMerge.MergeOrder = 99;
    this.mnuMerge.Text = "Merge!";
    // 
    // mnuMenu2
    // 
    this.mnuMenu2.Index = 7;
    this.mnuMenu2.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
       this.mnuMenu21,
       this.mnuMenu22,
       this.mnuMenu23,
       this.mnuMenu24});
    this.mnuMenu2.Text = "Menu 2";
    // 
    // mnuMenu21
    // 
    this.mnuMenu21.Index = 0;
    this.mnuMenu21.MergeOrder = 1;
    this.mnuMenu21.Text = "Menu 2.1";
    // 
    // mnuMenu22
    // 
    this.mnuMenu22.Index = 1;
    this.mnuMenu22.MergeOrder = 2;
    this.mnuMenu22.MergeType = System.Windows.Forms.MenuMerge.Replace;
    this.mnuMenu22.Text = "Menu 2.2";
    // 
    // mnuMenu23
    // 
    this.mnuMenu23.Index = 2;
    this.mnuMenu23.MergeOrder = 3;
    this.mnuMenu23.MergeType = System.Windows.Forms.MenuMerge.Remove;
    this.mnuMenu23.Text = "Menu 2.3";
    // 
    // mnuMenu24
    // 
    this.mnuMenu24.Index = 3;
    this.mnuMenu24.MergeOrder = 5;
    this.mnuMenu24.Text = "Menu 2.4";
    // 
    // mnuSpecial
    // 
    this.mnuSpecial.Index = 4;
    this.mnuSpecial.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                                           this.mnuODVote,
                                           this.mnuODShazam});
    this.mnuSpecial.Text = "Special";
    // 
    // mnuODVote
    // 
    this.mnuODVote.Index = 0;
    this.mnuODVote.OwnerDraw = true;
    this.mnuODVote.Text = "Vote";
    // 
    // mnuODShazam
    // 
    this.mnuODShazam.Index = 1;
    this.mnuODShazam.OwnerDraw = true;
    this.mnuODShazam.Text = "Shazam";
    // 
    // ToolBarLinkedWithMenu
    // 
    this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
    this.ClientSize = new System.Drawing.Size(440, 126);
    this.IsMdiContainer = true;
    this.Menu = this.mainMenu1;
    this.Name = "ToolBarLinkedWithMenu";
    this.Text = "ToolBarLinkedWithMenu";

  }

  [STAThread]
  static void Main() 
  {
    Application.Run(new ToolBarLinkedWithMenu());
  }

  private void toolBar1_ButtonClick( object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
  {
    ToolBarButton btn = e.Button;
    MenuItem mi = (MenuItem) btn.Tag;
    mi.PerformClick();

  }
}








23.38.Toolbar
23.38.1.Toolbar with ComboBoxToolbar with ComboBox
23.38.2.ToolBar Linked With MenuToolBar Linked With Menu
23.38.3.ToolBar Button ActionToolBar Button Action
23.38.4.Add Button action to ToolBar ButtonAdd Button action to ToolBar Button
23.38.5.Add ToolTip to ToolBar ButtonAdd ToolTip to ToolBar Button
23.38.6.Create an ImageList and use it for ToolBarCreate an ImageList and use it for ToolBar
23.38.7.Add Image to ToolBar ButtonAdd Image to ToolBar Button
23.38.8.ToolBar Button border style: BorderStyle.Fixed3DToolBar Button border style: BorderStyle.Fixed3D
23.38.9.Cut, Copy Paste/Text Box with Toolbar
23.38.10.Designed Toolbar
23.38.11.ToolBar Button Style
23.38.12.Toolbar Styles