Servus
ich möchte ein Formular x schließen, wenn ein Formular y aufgerufen
wird. Normalerweise mache ich das über
this.close()
Doch das Formular x wird erst geschlossen, wenn Formular y geschlossen
wird. ich rufe Formular y mit y.showdialog () auf.
Wenn ich mit Formular y Formular y aufrufe, ergibt sind die Formulare
öfter hintereinander aufgerufen.
Wie kann ich das unterbinden?
ShowDialog() öffnet den neuen Dialog modal, dass heisst,
es werden nur noch Events in diesem Dialog verarbeitet
bis der Dialog wieder geschlossen wird. (Du könntest
Show() verwenden, aber das wird andere Auswirkungen haben.)
Ich würde die übergeordnete Instanz des ersten Dialogs
den neuen Dialog öffnen lassen.
merciless
def schrieb:> Dirk K. schrieb:>> Ich würde die übergeordnete Instanz des ersten Dialogs>> den neuen Dialog öffnen lassen.>> was meinst du mit übergeordnete Instanz?
könnte man machen. z.b. über load. wird aber in meinem konkrteten Fall
sehr hässlich, weilö ich schon vieles über load steuer. wird sehr sehr
unübersichtlich. Gibt es andere Möglichkeiten?
def schrieb:> Dirk K. schrieb:>> Ich würde die übergeordnete Instanz des ersten Dialogs>> den neuen Dialog öffnen lassen.>> was meinst du mit übergeordnete Instanz?
Warum habe ich geahnt, dass diese Frage kommt? ;)
Ich entwickle üblicherweise Software mit einer
Schichtenarchitektur (siehe
https://de.wikipedia.org/wiki/Schichtenarchitektur),
in meinem Fall:
1. Präsentationsschicht (Dialoge)
2. Anwendungslogik
3. Domänenschicht
4. Datenschicht/Infrastruktur
In meinem Programm gebe es eine Klasse in der 2. Schicht
(Anwendungslogik), welche die Dialoge steuern würde, und
diese würde den einen beenden und den anderen öffnen.
merciless
def schrieb:> könnte man machen. z.b. über load. wird aber in meinem konkrteten Fall> sehr hässlich, weilö ich schon vieles über load steuer. wird sehr sehr> unübersichtlich. Gibt es andere Möglichkeiten?
Probiere mal Show(), wenn du nur einen Dialog
gleichzeitig offen hast, sollte das gehen.
merciles
Dirk K. schrieb:> Show(),
wie du schon sagtest, Show () hat andere Auswirkungen, die ich vermeiden
möchte.
Dirk K. schrieb:> 1. Präsentationsschicht (Dialoge)> 2. Anwendungslogik> 3. Domänenschicht> 4. Datenschicht/Infrastruktur
hab das so umgesetzt. deshalb könnte ich über eine Variable das ganze
Steuern. Aber das wird brutal hässlich! (unübersichtlich)
Def schrieb:> hab das so umgesetzt. deshalb könnte ich über eine Variable das ganze> Steuern. Aber das wird brutal hässlich! (unübersichtlich)
Nope, das sieht nur auf den ersten (unerfahrenen) Blick
so aus. Wenn du mal an Projekten arbeitest, wo die Anzahl
der Klassen 4stellig ist, bist du froh, wenn es eine
wiedererkennbare Ordnung gibt.
merciless
Dirk K. schrieb:> Nope, das sieht nur auf den ersten (unerfahrenen) Blick> so aus. Wenn du mal an Projekten arbeitest, wo die Anzahl> der Klassen 4stellig ist, bist du froh, wenn es eine> wiedererkennbare Ordnung gibt.
Lies. Ich hab es so umgesetzt
egal, ob ich mit leave oder closed arbeite, das Form "Parametrisierung
"ist im Hintergrund offen, wenn das andere aufgerufen wird. ich habe
sogar den Umweg gemacht, das andere form nicht direkt sondern indirekt
über eine variable aufzurufen
Def schrieb:> Lies. Ich hab es so umgesetztDef schrieb:> hat niemand eine Idee =(Def schrieb:> egal, ob ich mit leave oder closed arbeite, das Form "Parametrisierung> "ist im Hintergrund offen, wenn das andere aufgerufen wird.
Ich hab dir eine Lösung aufgezeigt, von der du behauptest,
es so umgesetzt zu haben. Und jetzt geht es weiter mit
diesen Halbsätzen?
Ganz diplomatisch ausgedrückt, fühle ich mich gewaltig
verarscht.
RTFM
merciless
ich dachte Ursprünglich, die Ursache liegt darin, dass ich in dem Form
Parametrisieren mehrere Messgeräte konfiguriere und dies ein paar
Sekunden dauert