コード例 #1
0
        //---------------------------------------------------------------
        void menuFormule_MouseDown(object sender, MouseEventArgs e)
        {
            CMenuNewFormule menu = sender as CMenuNewFormule;

            if (menu != null)
            {
                AddNewByDragDrop(menu.Formule);
            }
        }
コード例 #2
0
        //-------------------------------------------------
        public void AssureMenuAddFormule()
        {
            if (m_menuAddFormule.Items.Count != 0)
            {
                return;
            }
            Dictionary <string, ToolStripMenuItem> dicRubriques = new Dictionary <string, ToolStripMenuItem>();

            foreach (IExpression expression in CAllocateur2iExpression.ToutesExpressions)
            {
                C2iExpressionAnalysable expAn = expression as C2iExpressionAnalysable;
                if (expAn != null)
                {
                    CInfo2iExpression info = expAn.GetInfos();
                    if (info.Categorie.Length > 0 && info.Texte.Length > 0)
                    {
                        ToolStripMenuItem menuRubrique = null;
                        if (!dicRubriques.TryGetValue(info.Categorie, out menuRubrique))
                        {
                            menuRubrique = new ToolStripMenuItem(info.Categorie);
                            dicRubriques[info.Categorie] = menuRubrique;
                        }
                        CMenuNewFormule menuFormule = new CMenuNewFormule(expAn);
                        menuRubrique.DropDownItems.Add(menuFormule);
                        menuFormule.MouseDown += new MouseEventHandler(menuFormule_MouseDown);
                    }
                }
            }
            List <ToolStripMenuItem> lst = new List <ToolStripMenuItem>(dicRubriques.Values);

            lst.Sort((m1, m2) => m1.Text.CompareTo(m2.Text));
            m_menuAddFormule.Items.AddRange(lst.ToArray());
            foreach (ToolStripMenuItem item in lst)
            {
                List <ToolStripMenuItem> childs = new List <ToolStripMenuItem>();
                foreach (ToolStripMenuItem c in item.DropDownItems)
                {
                    childs.Add(c);
                }
                childs.Sort((m1, m2) => m1.Text.CompareTo(m2.Text));
                item.DropDownItems.Clear();
                item.DropDownItems.AddRange(childs.ToArray());
            }
        }