lunedì 2 gennaio 2012

[C#] Gestione MenuStrip Centralizzata

Descrizione :
Un mio esempio pratico su come gestire un MenuStrip "dinamico" comune a più Forms.

+ Articolo :

Tempo fa ho risposto alla richiesta di un utente che desiderava inserire nella propria
applicazione Windows Forms un menu che fosse comune a più Form, e che comunque consentisse anche un certo livello di personalizzazione.

Di seguito riporto la mia soluzione al problema : creare una Classe che eredita da MenuStrip.
Essendo una Classe sarà possibile aggiungere Metodi e Proprietà a piacere, e ciascuna Form che ne faccia uso potrà "decidere"...

--> Codice Classe :

    public class AppMenu : System.Windows.Forms.MenuStrip  
    {
        private ToolStripMenuItem m_file = new ToolStripMenuItem("File");
        private ToolStripMenuItem m_esci = new ToolStripMenuItem("Esci");
       
        public AppMenu()
        {
            //Struttura
            this.Items.Add(m_file);
            m_file.DropDownItems.Add(m_esci);

            //Eventi
            m_esci.Click += new EventHandler(Esci_Click);
        }

        private void Esci_Click(object sender, EventArgs e) 
        {
            Application.Exit();
        }
    }

Come si nota, creo una semplice Classe con due elementi Menu : "File" ed "Esci".
All'elemento "Esci" è associato l'EventHandler.

--> Codice Form :
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.Controls.Add(new AppMenu());
        }
    }

Facile rendersi conto della flessibilità di questo sistema.

+ Fine Articolo.

Un Click su "Mi Piace" è il modo migliore per ringraziare l'autore di questo articolo.



0 commenti:

Posta un commento

 
Design by Free WordPress Themes Modificato da MarcoGG