VB 2005: Problem mit Me.Close()

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von NetzSchleicher.

    VB 2005: Problem mit Me.Close()

    Guten Tach.

    Ich habe mir heute ein Buch über VB2005 zugelegt und habe schon ein paar Java-Kenntnisse.

    Im Buch ist folgender Code für das Weiterleiten von einem Startbildschirm zu einem Formular.

    VB.NET-Quellcode

    1. Private Sub Timer1_Tick(ByVal sender AS SystemObject, ByVal e AS System.EventArgs) Handles Timer1.Tick
    2. Form1.Show()
    3. Me.Close()
    4. End Sub


    Allerdings wird der Startbildschirm nach Beenden der 5 Sekunden Startzeit angezeigt.

    Gibt es da ne Möglichkeit, das zu beheben?
    Form1 ist das startformular oder?

    wenn du das nämlich so schreibst...öffnet sich form1 durch show und dann wird es wieder geschlossen weil "me" nämlih dann die form1 ist.

    btw....wenn du das hauptformular schließt, wird die ganze anwendung geschlossen. deswegen darfst du das hauptformular nur verstecken (hide).
    Hi!

    Es ist prinzipiell so, dass alles, was man übers Visual Studio macht Müll ist.
    (Splash Screen, Datenbankverbindungen, ...)

    Als erstes erstellst du ein leeres Projekt.
    Dann erzeugst du eine neue Klasse, die du MainClass oder Program nennst.
    Dort änderst du das "Class MainClass" auf "Shared Class MainClass" (shared entspricht dem static aus c++). Das bewirkt, dass man in die Klasse nur shared Variablen und Subs rein packen kann - und somit vermeidet man Fehler)
    In der Klasse erstellst du dann eine Shared Sub Main, die ist dann dein Startpunkt im Programm.
    Jetzt gehst du in die Projekt-eigenschaften und schaust, ob Application Framework aktiviert ist - wenn ja, weg damit. Das Application Framework wäre ein von VB.net erzeugter ersatz für unsere Main - ist aber Müll.

    Jetzt erstellst du eine Form für den SplashScreen und eine Haupt-Form, in der dann das restliche Programm ablaufen wird.
    Und dann kommt in die Shared Sub Main folgender Code:

    VB.NET-Quellcode

    1. Shared Sub Main()
    2. Application.EnableVisualStyles() 'aktiviert den XP-Stil
    3. dim frm as Form
    4. frm = new frmSplash 'oder wie deine Splash-Form hald heißt
    5. frm.ShowDialog() 'das Programm wird solange angehalten, bis der Splash Screen geschlossen wird
    6. frm = new frmMain 'oder wie deine Hauptform hald heißt
    7. frm.ShowDialog() 'sobald die Hauptform geschlossen wird, gehts weiter
    8. Application.Exit() 'Programm beenden.
    9. End Sub


    Du musst jeztz nurnoch in der Splash-Form schreiben, dass sie geschlossen wird, wenn 5 sekunden um sind und schon funktionierts :)


    EDIT: Ja, ich weiß, dass es mit dem Application-Framework eigentlich einfachher geht, aber bei mir klappt da nie was mit und abgesehen davon ists langsahmer...

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Mad Andy“ ()