Bonjour

Depuis le form principal j appelle CacheMenu() dans une lka classe My_Fonctions ajoutée depuis le menu de visual studio afin de rendre disabled un item d un sous menu du menu principal dont le nom est "menu_ouvrir".
Dans la classe My_Fonctions j ai aussi CachePanels qui fonctionne parfaitement ce qui me fait dire que le form est bien passé.
Le pb vient donc de mon code que j ai adapté de CachePanels().


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 private static Form1 form = null;
        public Form1()
        {
            InitializeComponent();
            form = this;
            My_Fonctions.CachePanels(form);
            My_Fonctions.CacheMenu(form, "ouvrir");
        }


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 public static class My_Fonctions
    {
          public static void CachePanels(Form1 frm)
        {
            foreach (var control in frm.Controls)
            {
                if (control is Panel)
                {
                    ((Panel)control).Visible = false;
                }
            }
        }
 
        public static void CacheMenu(Form1 frm, string nom)
        {
            foreach (var control in frm.Controls)
            {
                if (control is ToolStripMenuItem)
                {
                    if (((ToolStripMenuItem)control).Name.ToLower() == "menu_"+nom)
                    {
                        ((ToolStripMenuItem)control).Enabled = false;
                    }
                }
            }
        }
    }

Pouvez vous m indiquer s il vous plait où est mon erreur et éventuellement s'il y a une façon plus elegante de coder cette action de façon comprehensible pour un débutant comme moi.
Je vous en remercie par avance