MenuStrip dynamisch erstellen

21/05/2008 - 16:38 von J. Sommer | Report spam
Moin,

ich möchte gerne mein Menü im Programm dynamisch erstellen, um spàter
einfach und schnelle neue Menüpunkte hinzuzufügen oder zu löschen.

Die DropDownItems zu erstellen ist kein Problem. Mein Problem ist das
Event bzw. was im Event ausgeführt wird. Ich möchte es so programmieren,
dass egal welcher Menüpunkt geklickt wird er weiß was für ein Formular
er ins MDI-Container laden muss.
_____

Bsp:

Name Formular
Administration Form2
Hilfe Form3
_____

Ich habe es jetzt schon so hinbekommen das er mir das Menü erstellt. Das
Formular-Objekt habe ich über die Tag Eigenschaft des MenuStripItem
übergeben.

Làuft auch alles soweit. Nur wenn ich jetzt auf den Menüpunkt klicke
dann öffnet er mir das Formular so wie er soll. Schließe ich aber das
Formular und will es wieder über das Menü öffnen sag er mir folgendes:

_____

Auf das verworfene Objekt kann nicht zugegriffen werden.
Objektname: Form2.
_____

Wie schaffe ich es eine neue Instanz des übergebenen Objektes zu
erstellen??? Oder gehe ich ganz falsch an die Sache ran?
 

Lesen sie die antworten

#1 Oliver Denter
21/05/2008 - 17:54 | Warnen spam
J. Sommer schrieb:
Moin,

ich möchte gerne mein Menü im Programm dynamisch erstellen, um spàter
einfach und schnelle neue Menüpunkte hinzuzufügen oder zu löschen.

Die DropDownItems zu erstellen ist kein Problem. Mein Problem ist das
Event bzw. was im Event ausgeführt wird. Ich möchte es so programmieren,
dass egal welcher Menüpunkt geklickt wird er weiß was für ein Formular
er ins MDI-Container laden muss.
_____

Bsp:

Name Formular
Administration Form2
Hilfe Form3
_____

Ich habe es jetzt schon so hinbekommen das er mir das Menü erstellt. Das
Formular-Objekt habe ich über die Tag Eigenschaft des MenuStripItem
übergeben.

Làuft auch alles soweit. Nur wenn ich jetzt auf den Menüpunkt klicke
dann öffnet er mir das Formular so wie er soll. Schließe ich aber das
Formular und will es wieder über das Menü öffnen sag er mir folgendes:

_____

Auf das verworfene Objekt kann nicht zugegriffen werden.
Objektname: Form2.
_____

Wie schaffe ich es eine neue Instanz des übergebenen Objektes zu
erstellen??? Oder gehe ich ganz falsch an die Sache ran?


Also ich würde auf Menüclick immer ein New machen.
Also sowas:

select case directcast(sender, menuitem).Text
case "formular"
dim dlg as new Formular()
dlg.Show()
case "form2"
dim dlg as new Form2()
dlg.Show()
case "form3"
dim dlg as new Form3()
dlg.Show()
end select

Ähnliche fragen