[ VB.NET ] - Userform nimmt kein Hide() an

waswiewo

Erfahrenes Mitglied
Hi Leute,

Ich habe soeben ein Projekt von mit beenden können und wollte nun noch kleine Schönheitsfehler ausbessern.

Bis auf ein Fehler hab ich alles im Griff ..

Ich habe 3 Userformen ..

Auf Userform1 drücke ich einen Button, welcher folgendes auslöst:

Code:
UserForm2.Show() : Me.Hide()

Auf Userform2 läuft ein 120 Sekunden Delay-Modul ab (Call Delay(1000)). Nach der Schleife (0 to 120 Sekunden) wird Folgendes ausgeführt:

Code:
UserForm3.Show() : Me.Hide()

Und hier ist der Haken .. UserForm2 kommt, nachdem die dritte angezeigt wird, wieder. Momentan hab ich es mit TopMost = TRUE gelöst, aber warum will die UserForm2 nicht verschwinden?

Mit Close() geht es, aber ich greife immer wieder auf Daten der Form zurück.

Wenn ich den Timer (hab ich auch schon getestet) oder mein Delay-Modul raus nehme, dann geht es.

Wisst ihr da nen Trick? Mit dem Countdown ist es einfach cooler und man muss nichts klicken^^
 
Den Timer einfach beenden wenn das jeweilige Formular ausgeblendet / angezeigt wurde.
Oder stell ichs mir grad zu einfach vor?
 
Hi, daran liegt es leider nicht. Ich denke eher, es liegt daran, dass ich nachdem ich sie ausblende wieder auf sie zugreife.

wie ich dies jedoch umgehe ist mir ein Rätsel.. bei Close() und Dispose() geht es ja, aber ich will ja weiterhin an die Daten der Form^^

Am besten ich packe all die Daten der Form in ArrayList's und übergebe sie dann so. Das teste ich mal.


###############NACHTRAG:

Ich hab es jetzt mit einem Button gelöst. Anders scheint es wirklich nicht zu gehen.

Habe auch versucht in Form2_load folgendes rein zu packen:

Code:
Call Button1_Click(sender, New System.EventArgs())

Und in dem Clickevent habe ich dann stehen:

Code:
Userform3.Show() : Me.Hide()

Aber auch bei der Möglichkeit wird die Userform2 sofort wieder eingeblendet, wenn die Userform3 geladen wurde. Hängt das evtl damit zusammen, dass ich den Timer in dem UserForm2_Load() sub habe?
 
Zuletzt bearbeitet:
Hi,

ja den Gedanken hatte ich auch schon. Das Problem ist eigentlich nur, dass die Textbox auf der Form3 den Focus verliert, weil die Form2 einfach immer wieder erscheint, trotzt Hide() =)

Ich benutze jetzt einfach einen Tastendruck (SPACE o. ENTER), statt einen Timer. Falls ich irgendwann den Fehler finden sollte, dann gebe ich hier bescheid, von den Funktionen läuft ja alles prima.
 
Eigentlich sollte dein Vorhaben schon realisierbar sein. Wie greifst du von Form 3 auf Form 2 zu? Hast du vielleicht versehentlich 2 Instanzen von Form 2 erzeugt?
Kannst du evtl. bisschen mehr Code zeigen oder ein Minimalprojekt erstellen, dass den Fehler reproduziert und hier hochladen?
 
Ich hab bei meinem Kumpel Google ( 1. Versuch - gleich ein Treffer ganz oben) was gefunden.

Bitte sehr (ist auf Deutsch) ...


EDIT: Häää... Wie kommt den dieser Artikel in diesen Thread? :D :D Sorry, der galt nicht diesem Problem^^
 
Zuletzt bearbeitet:
Das obige Problem hat sich bereits erledigt. Ich habe die komplette Timer-Funktion nochmals neu geschrieben und siehe da, funktioniert. War wohl irgend ein Fehler, den ich und der Editor nicht erkannt haben.
 

Neue Beiträge

Zurück