noch mal MDI-Forms

Christoph1972

Erfahrenes Mitglied
Hallo Zusammen!

Also, ich versuche es hier noch mal zu dem Thema MDI-Forms, ich komme da einfach nicht weiter. Alles was ich bisher beim googeln gefunden habe verstehe ich nicht(Anfänger) oder es ist nicht das was ich möchte. Ich möchte über Buttons verschiedene Forms(Children) sichtbar machen, oder verstecken. Mit VB.6 habe ich einfach folgenden Code hinter jedem Button hinterlegt, wo bei der Punkt Show natürlich auf den jeweiligen Button bezogen ist.

Mischungsrechnen.Hide
MischungsInfo.Hide
Säure.Hide
Milchsäuretitration.Hide
Einstellmenge.Hide
EEW.Hide
NCO.Hide
Ngradeinstellung.Hide
BGGehalt.Hide
SäureBaseNgrad.Show

(Klar Me.Hide wäre sicher auch gegangen)

Das Programm soll später ähnlich wie mein altes VB.6 Programm aussehen.

Kann mir jemand sagen wo es eine gute Beschreibung zu diesem Thema gibt, die einfach und gut ist, oder ob ich es irgendwie anders lösen kann? Es würde mich echt freuen wenn mir jemand helfen könnte, ich beschäftige mich schon sehr lange mit diesem Thema und komme einfach nicht weiter.

Gruß
Christoph
 

Anhänge

  • Calculator_bild.jpg
    Calculator_bild.jpg
    43 KB · Aufrufe: 85

Norbert Eder

Erfahrenes Mitglied
Instanzier deine Formen an einer Stelle die nur einmal aufgerufen wird. Danach legst eben hinter deinen Button
Code:
firstForm.ShowDialog
und mit
Code:
firstForm.Hide
kannst es wieder verstecken. Auf diese Weise bleibt es erhalten und muss nicht immer neu geladen werden. Der Nachteil ist eben, dass du immer alle Forms + Eigenschaften im Speicher hast.
 

Christoph1972

Erfahrenes Mitglied
Könntest du mir mal zeigen wie du instanzieren würdest? Ich bekomme immer eine Fehlermeldung.

-->Um auf ein Member zuzugreifen, das nicht als "Shared" deklariert ist muss ein Objektverweis verwendet werden.<---

Christoph
 

JensG

Erfahrenes Mitglied
Hallo Christoph,

Form in eigener Klasse als Private oder wenn von anderen Formularen
ebenfalls ansprechbar sein soll in einem Modul als
Public myForm as Form1 deklarieren
und dann z.B. im Form_Load instanzieren
myForm = new Form1

dann kannst du über

myForm.Hide oder myForm.Show
die Form ein und ausblenden oder
auch schließen. Beim schließen muss
dann aber myForm auf nothing gesetzt
werden.
 

Christoph1972

Erfahrenes Mitglied
Hallo Jens!

Danke erst mal! Ich bekomme das einfach nicht nach meinen Vorstellungen hin. Nun habe ich soviel zeit mit .Net vertrödelt, das ich mich dazu entschlossen habe erst mal meine neuen Anwendungen mit 6.0 zu machen. Das nächste Projekt werde ich dann wieder mit .Net versuchen.

Gruß
Christoph