VisualBasic ProgressBar soll bei Button-Klick Value 100 bekommen

Schnaberlack

Cadet 2nd Year
Registriert
Sep. 2010
Beiträge
22
Hoi,

ich spiele gerade etwas mit Visual Basic 2008. Nun möchte ich, dass sich die ProgressBars im Screenshot bei einem Klick auf den Button füllen. Nachdem diese zu 100% gefüllt sind, soll sich z.B. Form2 öffnen. Dass sich Form2 bei einem Klick auf den Button öffnet, habe ich im Moment schon programmiert - Form2 soll sich aber gefulden, bis die Progressbars gefüllt sind.

vbbprba.png

Ich habe bis jetzt nur herausgefunden, dass das mit diesem "Timer" geht aber nicht genau wie. Die Bars sollen sich innerhalb 0,5 Sekunden füllen.

Wenns zu unverständlich formuliert ist einfach motzen ;)
 
Ganz ruhig, habs hinbekommen ;) Die Balken sind mir zwar noch zu langsam aber immerhin gehts..
Wie sage ich dem Ding jetzt, dass Form2 erst geöffnet werden soll, wenn Value 100 erreicht ist?
 
Das hast du korrekt erkannt, der einzige Unterschied ist, das wir hier nich in der Schule sind.
Mal im Ernst. Das was du gefragt hast, sollte mit Grundlagenwissen der PRogrammierung ohne Probleme lösbar sein, ich sag da nur If-Abfrage?
 
Geschafft:
Code:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    Dim f As New Form_Plattenkondensator()
    ProgressBar1.Value += 1
    If ProgressBar1.Value = 100 Then f.Show()
    If ProgressBar1.Value = 100 Then Timer1.Stop()
End Sub
Gibts nicht noch die Möglichkeit mit And oder so "f.Show" und "Timer1.Stop" zusammenzufassen?

nur der Balken ist noch langsamer als 0.5 Sekunden..
 
Naja Moment mal, du hast da mehrere Fehler drinne.
Jedesmal wenn der Timer getickt hat, erstellst du ein neues Form_Plattenkondensator Objekt. Das ist natürlich Quatsch. Du erstellst diese Referenz natürlich anfangs einmal, z.B. als privates Feld in der Klasse.
Code:
If ProgressBar1.Value = 100 Then
  Timer1.Stop()
  f.Show()
End If
Wie gesagt das sind Grundlagen, wenn du die noch nichtmal korrekt auf dem Kasten hast, lass die Finger lieber von Forms, die fordern diese Grundwissen nämlich gnadenlos ein.
 
Das verwirrt mich jetzt. "Falsch" ist es gegangen, jetzt habe ich den If-Kram wohl an die falsche Stelle gemacht bzw. was zu viel weggemacht oder?

Code:
Private Sub Button_Plattenkondensator_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Plattenkondensator.Click
    Dim f As New Form_Plattenkondensator()
    Timer.Start()
End Sub

Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
    Dim f As New Form_Plattenkondensator()
    If Fortschritt.Value = 100 Then
        Timer.Stop()
        f.Show()
    End If
End Sub

Ich glaube du verzweifelst gleich aufgrund meiner Nicht-Kenntnisse ;) Aber lieber sehe ich jetzt was ich falsch gemacht habe als dann in der Klassenarbeit.
 
So wie ich das jetzt habe stimmt das aber nicht oder? Funktioniert nämlich nicht:
Code:
Private Sub Button_Plattenkondensator_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Plattenkondensator.Click
    Timer.Start()
End Sub

Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
    If Fortschritt.Value = 100 Then
        Dim f As New Form_Plattenkondensator()
        Timer.Stop()
        f.Show()
    End If
End Sub

Ein TickCount gibts bei mir nicht, nur ein "Interval".
 
Ich glaube du hast mich nich richtig verstanden.
Du kannst die Grundlagen nicht! Und jemand der die Grundlagen nicht kann, sollte sich nicht mit Sachen beschäftigen wo diese Grundlagen unumgänglich sind.
Wäre ja das selbe als wenn ein Baby versuche Auto zu fahren obwohl er noch nichtmal krabbeln kann.
:rolleyes::rolleyes:
 
Zurück
Oben