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;
}
}
}
}