//-------------------------------------------------------------------------------
        static void contextmenu_Opening(object sender, EventArgs e)
        {
            CMenuItemPourFormulaire menu = sender as CMenuItemPourFormulaire;

            if (menu != null)
            {
                Form frm = menu.Formulaire;
                Dictionary <string, bool> tabsSelected = new Dictionary <string, bool>();
                foreach (Crownwood.Magic.Controls.TabControl ctrl in GetTabsControls(frm))
                {
                    if (ctrl.SelectedTab != null)
                    {
                        tabsSelected[ctrl.SelectedTab.Title] = true;
                    }
                }
                if (frm != null)
                {
                    foreach (ToolStripMenuItem subItem in menu.DropDownItems)
                    {
                        CMenuItemPourFormulaire menuFormulaire = subItem as CMenuItemPourFormulaire;
                        if (menuFormulaire != null &&
                            menuFormulaire.Onglet != "" &&
                            menuFormulaire.Onglet != c_idBas &&
                            menuFormulaire.Onglet != c_idDroite &&
                            menuFormulaire.Onglet != c_idGauche &&
                            menuFormulaire.Onglet != c_idDroite)
                        {
                            menuFormulaire.Visible = tabsSelected.ContainsKey(menuFormulaire.Onglet);
                        }
                    }
                }
            }
        }
 //-------------------------------------------------------------------------------
 private static void item_Click(object sender, EventArgs e)
 {
     if (sender is CMenuItemPourFormulaire)
     {
         CMenuItemPourFormulaire menu = (CMenuItemPourFormulaire)sender;
         EditeFormulaire(menu.Formulaire, menu.Onglet);
     }
 }
        //-------------------------------------------------------------------------------
        private static void imageBox_Click(object sender, EventArgs e)
        {
            if (sender is Control)
            {
                Form frm = ((Control)sender).FindForm();
                if (frm == null)
                {
                    return;
                }
                //Y a t-il des tabs controls
                Crownwood.Magic.Controls.TabControl[] tabs = GetTabsControls(frm);
                if (tabs.Length > 0)
                {
                    ContextMenuStrip  menu = new ContextMenuStrip();
                    ToolStripMenuItem item = new CMenuItemPourFormulaire(I.T("Full page form|20191"), frm, "");
                    item.Click += new EventHandler(item_Click);
                    menu.Items.Add(item);
                    foreach (Crownwood.Magic.Controls.TabControl tab in tabs)
                    {
                        if (tab.SelectedTab != null)
                        {
                            item        = new CMenuItemPourFormulaire(I.T("Form for page @1|20192", tab.SelectedTab.Title), frm, tab.SelectedTab.Title);
                            item.Click += new EventHandler(item_Click);
                            menu.Items.Add(item);
                        }
                    }

                    IFormEditObjetDonnee frmEdition = frm as IFormEditObjetDonnee;
                    if (frmEdition != null && frmEdition.GetObjetEdite() != null)
                    {
                        menu.Items.Add(new ToolStripSeparator());
                        ToolStripMenuItem itemDroits = new ToolStripMenuItem(I.T("Editions rights|20748"));
                        itemDroits.Click += new EventHandler(itemDroits_Click);
                        itemDroits.Tag    = frmEdition.GetObjetEdite().GetType();
                        menu.Items.Add(itemDroits);
                    }

                    if (menu.Items.Count > 1)
                    {
                        Control btn = (Control)sender;
                        menu.Show(btn, new Point(0, btn.Height));
                        return;
                    }
                }
                else
                {
                    if (frm is CFormListeStandardTimos)
                    {
                        ContextMenuStrip  menu = new ContextMenuStrip();
                        ToolStripMenuItem item = new CMenuItemPourFormulaire(I.T("Overprint form|30070"), frm, "");
                        item.Click += new EventHandler(item_Click);
                        menu.Items.Add(item);

                        item        = new CMenuItemPourFormulaire(I.T("Form on top|30071"), frm, c_idHaut);
                        item.Click += new EventHandler(item_Click);
                        menu.Items.Add(item);

                        item        = new CMenuItemPourFormulaire(I.T("Form on bottom|30072"), frm, c_idBas);
                        item.Click += new EventHandler(item_Click);
                        menu.Items.Add(item);

                        item        = new CMenuItemPourFormulaire(I.T("Formu on the left|30073"), frm, c_idGauche);
                        item.Click += new EventHandler(item_Click);
                        menu.Items.Add(item);

                        item        = new CMenuItemPourFormulaire(I.T("Form on the right|30074"), frm, c_idDroite);
                        item.Click += new EventHandler(item_Click);
                        menu.Items.Add(item);

                        Control btn = (Control)sender;
                        menu.Show(btn, new Point(0, btn.Height));
                        return;
                    }
                }
                EditeFormulaire(frm, "");
            }
        }
        //-------------------------------------------------------------------------------
        private static void CreateContextMenu(Form frm)
        {
            if (frm == null)
            {
                return;
            }

            ContextMenuStrip menu = new ContextMenuStrip();

            frm.ContextMenuStrip = menu;

            if (menu != null)
            {
                ToolStripMenuItem itemUnique = new CMenuItemPourFormulaire(I.T("Customize form|30067"), frm, "");
                itemUnique.Image = timos.Properties.Resources.Picto_timos_note1;
                menu.Items.Add(itemUnique);
                itemUnique.DropDownOpening += new EventHandler(contextmenu_Opening);

                //Y a t-il des tabs controls
                Crownwood.Magic.Controls.TabControl[] tabs = GetTabsControls(frm);
                if (tabs.Length > 0)
                {
                    ToolStripMenuItem item = new CMenuItemPourFormulaire(I.T("Form for the whole page|30068"), frm, "");
                    item.Click += new EventHandler(item_Click);
                    itemUnique.DropDownItems.Add(item);
                    foreach (Crownwood.Magic.Controls.TabControl tab in tabs)
                    {
                        foreach (Crownwood.Magic.Controls.TabPage page in tab.TabPages)
                        {
                            item        = new CMenuItemPourFormulaire(I.T("Form for the page |30069 ") + page.Title, frm, page.Title);
                            item.Click += new EventHandler(item_Click);
                            itemUnique.DropDownItems.Add(item);
                        }
                    }
                    return;
                }
                else
                {
                    if (frm is CFormListeStandardTimos)
                    {
                        ToolStripMenuItem item = new CMenuItemPourFormulaire(I.T("Overprint form|30070"), frm, "");
                        item.Click += new EventHandler(item_Click);
                        itemUnique.DropDownItems.Add(item);

                        item        = new CMenuItemPourFormulaire(I.T("Form on top|30071"), frm, c_idHaut);
                        item.Click += new EventHandler(item_Click);
                        itemUnique.DropDownItems.Add(item);

                        item        = new CMenuItemPourFormulaire(I.T("Form on bottom|30072"), frm, c_idBas);
                        item.Click += new EventHandler(item_Click);
                        itemUnique.DropDownItems.Add(item);

                        item        = new CMenuItemPourFormulaire(I.T("Formu on the left|30073"), frm, c_idGauche);
                        item.Click += new EventHandler(item_Click);
                        itemUnique.DropDownItems.Add(item);

                        item        = new CMenuItemPourFormulaire(I.T("Form on the right|30074"), frm, c_idDroite);
                        item.Click += new EventHandler(item_Click);
                        itemUnique.DropDownItems.Add(item);

                        return;
                    }
                }

                itemUnique.Click += new EventHandler(item_Click);
            }
        }