Timer Code?

Traumerin

Grünschnabel
Hey,
Ich suche nach dem Code für einen Timer, der den Willkommensbildschirm(frmSplash) genau 5sek anzeigen soll und danach auf ein anderes Formular wechseln soll(frmKategorienchoose).
Nun habe ich bisher versucht es mit der Interwallzahl 5000 im Eigenschaftenfenster zu lösen, aber als ich einen Probelauf versuchte zeigte der mir nicht den Willkommensbildschirm sondern sofort das nächste Formular. Ich habe den Timer auf enabled = true also sollte es daran nicht liegen. Insgesammt hat der mir nur noch nie im Laufmodus den Willkommensbildschirm gezeigt. Außerdem habe ich dem Willkommensbildschirm gesagt:

Private Sub frmSplash.lblFrame_Click()
Unload Me
End Sub

Da ich allerdings nie dazu kam irgendwie auf das Label zu klicken weil es wie gesagt nicht sichtbar wird, sollte es wohl nicht daran liegen.

Bitte um Hilfe!

Träumerin
 
Du redest jetzt vom Timer-Steuerelement?

Habe kein Visual Basic hier aber so in etwa müsste aus wohl aussehen:

Visual Basic:
Sub Form_Load()
'die Sub der Form frmSplash
    Timer1.Interval = 5000
End Sub

Sub Timer1_Timer()
    frmKategorienchoose.Show
    Unload Me
End Sub
 
Und wenn du es mit Wait versuchst?
Visual Basic:
Application.Wait (Now + TimeValue("0:00:5"))
Unload Me
frmKategorienchoose.Show
 
Danke für die Mühe. Ich habe das mit dem Intervall versucht aber der hat mir damit nicht das gewünschte frmSplash gezeigt.
Ich bezweifle dass er den Prozess Wait kennt...
Habe es nun so gemacht:

Private Sub Timer1_Time()
Dim X As 60
For X = 1 To 60 Step 1
frmKategorienchoose.show
Unload Me
Next X

Nun zeigt er es mir nach einigem Tüfteln an, wenn auch ziemlich kurz, ich konnte gerade mal bis 0,5 zählen da war es wieder weg, aber es wird nicht mehr.
Musste ihm heute erstmal nochmal zwei seiner Formulare wiedergeben, der hatte die doch glatt verbummelt...:rolleyes::):):p

Träumerin
 
Wie ist den jetzt der genaue Ablauf.

Du startest das Programm und frmSplash wird angezeigt. Nach 5 Sekunden soll es ausgeblendet werden und dafür frm Kategorienchoose angezeigt werden?

Das Timer-Steuerelement befindet sich in der Form frmSplash, hat bei der Eigenschaft Intervall den Wert 5000 und die Eigenschaft Enabled steht auf True!

Wenn du dann in das Timer-Ereignis

Visual Basic:
frmKategorienchoose.Show
Unload Me

eingibst, muss/müsste es doch klappen!?

Womit arbeitest/programmierst du?
 
Das habe ich unter den Anweisungen im For...Next Befehl, wie gesagt.
Und ja, in den Eigenschaften des frmSplash.Timer1 ist der Intervall 5000 wodurch es eigentlich 5 Sekunden andauern sollte. In der For...Next anweisung habe ich schon 60 sek angegeben aber ich habe den eben genannten Zeitraum nur als Anzeige. Ich glaube entweder kann ich nicht zählen oder der weiß nicht wie lang eine Sekunde ist... Mit For...Next sollte man doch eigentlich jeden Counter leiten können, jedenfalls Personalnummern kann man so durchsuchen, einen Countdown angeblich und auch aufwärtszählen...

Träumerin
 
Die For-Next-Schleife läuft zwar immer um eins nach oben (außer es ist anders angegeben) aber sie läuft nicht im Sekundentakt!

Der Intervall sagt nicht aus wie lange etwas andauert, sondern nach welcher Zeitspanne das Timer-Ereignis aufgerufen wird. Das was dort steht wird nach Ablauf des angegebenen Intervalls ausgeführt!

Kannst du mal ein Bild vom Eigenschaftenfenster, der Form frmSplash und dem Timer-Ereignis hier einstellen.
 
Ich habe gerade nochmal versucht das Programm auszuführen aber nun mag er mich nicht mehr. Alles läuft blitzschnell durch und hält erst am MDI fenster an. Dann kommt die Fehler Meldung dass er nicht rtfText.Move kennt, obwohl das so auch vom Assistenten geschrieben wurde(Codiert, VB-Assistent)
 
Sorry, aber dir so zu helfen ist nicht möglich.

Du verrätst nicht womit du programmierst, du zeigst den aktuellen Code usw. nicht. Du änderst immer wieder was und kommst dann mit so vagen "Fehlermeldungen".

Wenn alles blitzschnell durchläuft, dann führe das Programm mit der F8-Taste aus. Dann siehst du Schritt für Schritt welcher Code ausgeführt wird.
 
Hab bmps versucht anzuhängen aber funktioniert nicht. ich kann dir den Code auch so schreiben...
Visual Basic:
Frm Splash


Option Explicit

Private Sub Form_KeyPress(KeyAscii As Integer)
    
    Timer1.Enabled = False
    Unload Me

End Sub

Public Sub frmSplash_Load()
    
    lblVersion.Caption = "Version " & App.Major & "." & App.Minor & "." & App.Revision
    lblProductName.Caption = App.Title
    
    frmKategorienchoose.Hide
    frmHäkelnchoose.Hide
    frmStrickenchoose.Hide
    frmStickenchoose.Hide
    MDI.Hide
        
End Sub

Private Sub Frame1_Click()

    Timer1.Enabled = False
    Unload Me

End Sub



Private Sub Timer1_Timer()
    Dim x
    x = 60
    For x = 0 To 60
        frmKategorienchoose.Show
        Unload Me
    Next x
End Sub


(In Eigenschaften:Name : Timer1
		     Enabled : True
		     Interval : 5000
		     Left : 2760
		     Top : 1440) 
frmKategorienchoose
Private Sub cmdHäkeln_Click()
    Me.Hide
    frmHäkelnchoose.Show
End Sub

Private Sub cmdSticken_Click()
    Me.Hide
    frmStickenchoose.Show
End Sub

Private Sub cmdStricken_Click()
    Me.Hide
    frmStrickenchoose.Show
End Sub

Private Sub Form_Load()
    Show Stil = 1
End Sub

 
MDI

Private Sub MDIForm_Load()
    Me.Left = GetSetting(App.Title, "Settings", "MainLeft", 1000)
    Me.Top = GetSetting(App.Title, "Settings", "MainTop", 1000)
    Me.Width = GetSetting(App.Title, "Settings", "MainWidth", 6500)
    Me.Height = GetSetting(App.Title, "Settings", "MainHeight", 6500)
    MDI.Show
    LoadNewDoc
End Sub


Private Sub LoadNewDoc()
    Static lDocumentCount As Long
    lDocumentCount = lDocumentCount + 1
    Set frmFiletHäkeln = New frmFiletHäkeln
    frmFiletHäkeln.Caption = "Häkeln Document " & lDocumentCount
    frmFiletHäkeln.Show
End Sub
 
MDI Child
Private Sub rtfText_SelChange()
    fMainForm.tbToolBar.Buttons("Fett").Value = IIf(rtfText.SelBold, tbrPressed, tbrUnpressed)
    fMainForm.tbToolBar.Buttons("Kursiv").Value = IIf(rtfText.SelItalic, tbrPressed, tbrUnpressed)
    fMainForm.tbToolBar.Buttons("Unterstrichen").Value = IIf(rtfText.SelUnderline, tbrPressed, tbrUnpressed)
    fMainForm.tbToolBar.Buttons("Links ausrichten").Value = IIf(rtfText.SelAlignment = rtfLeft, tbrPressed, tbrUnpressed)
    fMainForm.tbToolBar.Buttons("Zentrieren").Value = IIf(rtfText.SelAlignment = rtfCenter, tbrPressed, tbrUnpressed)
    fMainForm.tbToolBar.Buttons("Rechts ausrichten").Value = IIf(rtfText.SelAlignment = rtfRight, tbrPressed, tbrUnpressed)
End Sub

Private Sub Form_Load()
    Form_Resize
End Sub


Private Sub Form_Resize()
    On Error Resume Next
    rtfText.Move 100, 100, Me.ScaleWidth - 200, Me.ScaleHeight - 200
    rtfText.RightMargin = rtfText.Width - 400
End Sub
 
Zuletzt bearbeitet von einem Moderator:
Zurück