Laden...

Anfänger: bestimmte Eintrag(Item) in Menü aktivieren

Erstellt von native vor 18 Jahren Letzter Beitrag vor 18 Jahren 1.742 Views
N
native Themenstarter:in
2 Beiträge seit 2005
vor 18 Jahren
Anfänger: bestimmte Eintrag(Item) in Menü aktivieren

Hallo alle zusammen,

habe folgendes Problem,

habe eine Form mit Menü erstellt und soll nach Benutzerechten MenuItems aktivieren(Standart steht Visible=false). Nachdem ich Menüname aus der Datenbank auslese möchte ich schon lelandete Menü aktivieren, dass klappt leider nicht. Wie kann ich Items aktivieren?


foreach(MenuItem mi in this.mainMenu1.MenuItems)
{
foreach(DataRow r in dt.Rows)
{
a=->->kommt aus Datenbank
if((mi.Text==a))
{
mi.Enabled=true;///da funzt es nicht!!!
}
}

}




S
709 Beiträge seit 2005
vor 18 Jahren

Vieleicht stimmt was mit dem string a nicht, kannst ja mal versuchen ihn per MessageBox.Show(a) auszugeben.

Gruß,
SimonKnight6600

140 Beiträge seit 2004
vor 18 Jahren

Also jedes Menü besteht wieder aus Untermenüs. Also kannst einfach noch ne foreach Schleife reinsetzen, dann findest du auch deine Menüs. Wenn die Schachtelungstiefe der Menüs noch tiefer ist, musst du das halt rekursiv programmieren. Dann erwischt du auch alle. Vermutlich gibt es noch einen viel schöneren und sauberen Weg, aber denn kenn ich nicht. Also Quick&Dirty:


foreach(MenuItem mi in this.mainMenu1.MenuItems)
{
     if((mi.Text==a))
         mi.Enabled=true; //hauptmenü
     foreach(MenuItem x in mi.MenuItems)
     {
          if((x.Text==a)) 
               x.Enabled=true; //Untermenü
     }
}

Gruß
Snowwolf

N
native Themenstarter:in
2 Beiträge seit 2005
vor 18 Jahren

Vielen Dank für den Rat 🙂Jetzt glaube weiss ich woran dass liegt: ich starte Anmeldeformular , wo man sich anmeldet-->wenn Anmeldung erfolgreich-->>rufe diese Methode auf (ich führe diese Methode von einem anderen Formular aus mit Hilfe des Konstruktors, die Methode in gleichem Formular wo Menü ist fHome frm=new fHome(); frm.MethodeName()😉Meine Frage ist:wie kann ich auf Steuerelemente anderen Formularen oder Methoden ohne Konstruktor zugreifen?

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo native,

klingt nach FAQ: Kommunikation von 2 Forms

herbivore