View Single Post
Old 14-01-2008, 16:42   #10
ReaToMe
Member
 
Iscritto dal: Nov 2007
Messaggi: 274
Codice:
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace ReusableCode {
  public class ReusableMenu : ToolStrip {

    private System.Windows.Forms.Form _container;

    public ReusableMenu(System.Windows.Forms.Form container) {

      this._container = container;

      this.SuspendLayout();

      this.Dock = DockStyle.Top;
      this.GripStyle = ToolStripGripStyle.Visible;
      this.Location = new Point(3, 0);
      this.Name = "mainMenu";
      this.Size = new Size(1000, 25);
      this.TabIndex = 0;

      this.AddNewButton("NewMenuItem", "&Nuovo", null);
      this.AddNewSeparator();
      this.AddNewButton("SaveMenuItem", "&Salva", null);
      this.AddNewSeparator();
      this.AddNewButton("UpdateMenuItem", "&Modifica", null);
      this.AddNewSeparator();
      this.AddNewButton("DeleteMenuItem", "&Elimina", null);
      this.AddNewSeparator();
      this.AddNewButton("CancelMenuItem", "&Annulla", null);
      this.AddNewSeparator();
      this.AddNewButton("PrintMenuItem", "Stam&pa", null);
      this.AddNewSeparator();
      this.AddNewButton("ExitMenuItem", "Esci", ExitMenuItem_Click);

      this.ResumeLayout(false);
      this.PerformLayout();

    }

    void AddNewButton(string name, string text, EventHandler eventHandler) {
      ToolStripMenuItem newButton = new ToolStripMenuItem();

      newButton.DisplayStyle = ToolStripItemDisplayStyle.Text;
      newButton.Name = text;
      newButton.Size = new Size(66, 22);
      newButton.Text = name;
      newButton.Font = new Font("Verdana", 9F);
      newButton.ForeColor = Color.SteelBlue;

      if(eventHandler != null)
        newButton.Click += new EventHandler(eventHandler);

      this.Items.Add(newButton);

      newButton = null;

    }

    void AddNewSeparator() {

      ToolStripSeparator newSeparator = new ToolStripSeparator();

      this.Items.Add(newSeparator);

      newSeparator = null;

    }

    void ExitMenuItem_Click(object sender, EventArgs e) {

      this.MyContainer.Close();

    }

    System.Windows.Forms.Form MyContainer {
      get {
        return this._container;
      }
    }

  }
}
ReaToMe è offline   Rispondi citando il messaggio o parte di esso