VB Progressbar wieder von 0 starten lassen

  • VB.NET

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von Plexian.

    VB Progressbar wieder von 0 starten lassen

    Hallo Liebe Formum User
    Ich habe überall nach geschaut doch leider nichts passendes gefunden deswegen schreibe ich jetzt mal hier. Ich bin ein Anfänger in Visual Basic . Also was habe ich vor. Ich wollte gerne mir ein kleines Klicker spiel schreiben. Das Funktoniert auch so weit nur habe ich jetzt mir noch eine Progressbar eingebaut die bei jedem klick um 1 erhöht wird. Dann soll sie mir bei 505 klicks ein Fenster auf machen wo drinnen stehen das ich 500 $ bonus gewonnen habe. Das geht auch. Dann soll die Progressbar auf 0 zurück gesetzt werden . Das klappt auch. und jetzt mein Problem wenn ich jetzt wieder auf den button klicke bekomme ich den fehler das die Progressbar 506 nicht anzeigen kann. Was mache ich denn bitte falsch.

    Visual Basic-Quellcode

    1. Public Class Form3
    2. Public Geld As Integer
    3. Dim Klicks As Integer
    4. Public Level2 As Integer = 1
    5. Dim Arbeiter As Integer = 0
    6. Public Level As Integer = 25
    7. Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    8. Geld = 0
    9. Klicks = 0
    10. Level2 = 1
    11. Level = 25
    12. Label1.Text = Geld & " $ "
    13. Label2.Text = Klicks & " Klicks "
    14. Label3.Text = Arbeiter & " Arbeiter "
    15. Label4.Text = ProgressBar1.Value & " /" & ProgressBar1.Maximum & "Klicks"
    16. Label1.Text = Form5.Label1.Text
    17. If ProgressBar1.Value = 505 Then
    18. ProgressBar1.Value = 0
    19. End If
    20. End Sub
    21. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    22. Form4.Show()
    23. Me.Hide()
    24. End Sub
    25. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    26. Geld = Geld + Level2
    27. Label1.Text = Geld & " $ "
    28. Klicks = Klicks + 1
    29. Label2.Text = Klicks & " Klicks "
    30. ProgressBar1.Value = Klicks
    31. If ProgressBar1.Value = ProgressBar1.Maximum = True Then
    32. MessageBox.Show(" Du hast 500$ bonus bekommen ")
    33. ProgressBar1.Value = ProgressBar1.Minimum
    34. Geld = Geld + 500
    35. End If
    36. Label4.Text = ProgressBar1.Value & " /" & ProgressBar1.Maximum & "Klicks"
    37. End Sub
    38. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    39. Me.Close()
    40. End Sub
    41. End Class


    Danke schon mal im vorraus
    Du setzt hier:

    VB.NET-Quellcode

    1. Private Sub Button1_Click
    2. ProgressBar1.Value = Klicks


    Du setzt zwar die Value vorher woanders auf 0. Aber Klicks bleiben sicher 500 oder mehr.

    LG
    Das ist meine Signatur und sie wird wunderbar sein!
    Willkommen im Forum,

    thunder1706 schrieb:

    Public Geld As Integer
    Öffentliche Variablen sind nicht OOP-konform. Mach die privat. Außerdem sind deutsche Bezeichner für Variablen nicht konform.

    thunder1706 schrieb:

    Public Class Form3
    Auch hier entsprechende Nomenklatur anwenden.

    thunder1706 schrieb:

    Form4.Show()
    Dialoge: Instanziierung von Forms und Aufruf von Dialogen

    thunder1706 schrieb:

    If ProgressBar1.Value = ProgressBar1.Maximum = True Then
    Das = True kannst Du weglassen, = gibt hier ja bereits einen Boolean zurück.

    Zu Deinem Problem: Du setzt die ProgressBar zurück, allerdings bleibt Klicks beim Wert 505. Folge: Sobald Du den Button nochmal drückst, wird Klicks auf 506 inkrementiert und dann setzt Du mit

    thunder1706 schrieb:

    ProgressBar1.Value = Klicks
    direkt diesen Wert, der natürlich größer als Dein Maximum ist. => Exception.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Du solltest erstmal Option Strict ON setzen und vorallem deine Dialoge instanzieren. Du behandelst Klassen als Instanzen, was sie aber nicht sind.
    Und wie mein Vorredner schon sagte, du setzt die Value gleich mit der Klickanzahl. Das kann nur nach hinten losgehen. Entweder du setzt entsprechend das Maximum und Minimum hoch, oder du rechnest deine Klickzahl entsprechend runter.

    LG
    Danke für eure schnelle antwort. Das heißt ich muss hin gehen und für die Progressbar selbst ein Step nehmen der mit 1 hochgezählt wird und den ich dann auch wieder auf null setzen kann.

    Zu dem Public das habe ich so drinnen stehen da es form übergreifend ist. Oder ist das auch so falsch denn das klappt alles

    ChOoSeMyNaMe schrieb:

    Du solltest erstmal Option Strict ON setzen
    Das ist Option Strict On-konfrom, soweit ich das gesehen habe.

    thunder1706 schrieb:

    Das heißt ich muss hin gehen und für die Progressbar selbst ein Step nehmen der mit 1 hochgezählt wird und den ich dann auch wieder auf null setzen kann.
    So ist es.

    thunder1706 schrieb:

    Zu dem Public das habe ich so drinnen stehen da es form übergreifend ist. Oder ist das auch so falsch denn das klappt alles
    Ja, das ist falsch. Siehe mein Link.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Super Leute. Ein Herzliches Danke schon mal mit der Progressbar geht es jetzt. Bekomme auch die 500$ bonus.

    Visual Basic-Quellcode

    1. ​Public Class Form3
    2. Public Geld As Integer
    3. Dim Klicks As Integer
    4. Public Level2 As Integer = 1
    5. Dim Arbeiter As Integer = 0
    6. Public Level As Integer = 25
    7. Dim Klicks1 As Integer
    8. Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    9. Geld = 0
    10. Klicks = 0
    11. Level2 = 1
    12. Level = 25
    13. Label1.Text = Geld & " $ "
    14. Label2.Text = Klicks & " Klicks "
    15. Label3.Text = Arbeiter & " Arbeiter "
    16. Label4.Text = ProgressBar1.Value & " /" & ProgressBar1.Maximum & "Klicks"
    17. Label1.Text = Form5.Label1.Text
    18. If ProgressBar1.Value = 505 Then
    19. ProgressBar1.Value = 0
    20. End If
    21. End Sub
    22. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    23. Form4.Show()
    24. Me.Hide()
    25. End Sub
    26. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    27. Geld = Geld + Level2
    28. Label1.Text = Geld & " $ "
    29. Klicks = Klicks + 1
    30. Klicks1 = Klicks1 + 1
    31. Label2.Text = Klicks & " Klicks "
    32. ProgressBar1.Value = Klicks1
    33. If ProgressBar1.Value = ProgressBar1.Maximum = True Then
    34. MessageBox.Show(" Du hast 500$ bonus bekommen ")
    35. ProgressBar1.Value = ProgressBar1.Minimum
    36. Klicks1 = 0
    37. Geld = Geld + 500
    38. End If
    39. Label4.Text = ProgressBar1.Value & " /" & ProgressBar1.Maximum & "Klicks"
    40. End Sub
    41. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    42. Me.Close()
    43. End Sub
    44. End Class
    Es ist nicht falsch. Das ist nicht die korrekte Ausdrucksweise.

    Du kannst es vergleichen mit Essen gehen. Es ist nicht prinzipiell verboten, in einem schicken Restaurant nach dem Essen die Hose aufzumachen und laut zu furzen. Aber es ist nicht gern gesehen und verstößt gegen Benimmregeln.
    Niemand will deine offene Hose sehen etc.

    Auch in der (objektorientierten) Programmierung gibt es ein paar "Benimmregeln".
    Sämtliche Member sind eigentlich nur für die eigene Klasse gedacht und sollten von außen nicht zugreifbar sein. Wenn dies erforderlich ist, wird das (in .NET) über Public Properties geregelt, die den Zugriff auf die Daten "kapseln".

    Es gibt noch viele weitere solcher "Regeln". Allerdings ändern sich diese Ansichten darüber zum Teil mit der Zeit (zum Beispiel Notationsregeln) und außerdem werden Sie erst bei größeren Projekten relevant.
    Das ist meine Signatur und sie wird wunderbar sein!
    Jetzt verstehe ich das nicht mehr wenn ich das Public in Form3 raus nehme dann zeigt er mir in Form5 das nicht mehr richtig an.

    Visual Basic-Quellcode

    1. ​Public Class Form5
    2. Dim Upgrade(7) As Integer
    3. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    4. Form4.Show()
    5. Me.Hide()
    6. End Sub
    7. Private Sub Form5_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    8. Dim i As Integer
    9. For i = 0 To 6 Step 1
    10. Upgrade(i) = 0
    11. Next i
    12. Label1.Text = Form3.Geld
    13. Label2.Text = " 25 "
    14. Label3.Text = " 1000 "
    15. Label4.Text = " 5000 "
    16. Label5.Text = " 10000 "
    17. Label6.Text = " 25000 "
    18. Label7.Text = " 50000 "
    19. Label8.Text = " 100000 "
    20. Label9.Text = " 500000 "
    21. Label10.Text = Upgrade(0) & "/100 "
    22. Label11.Text = Upgrade(1) & "/100 "
    23. Label12.Text = Upgrade(2) & "/100 "
    24. Label13.Text = Upgrade(3) & "/100 "
    25. Label14.Text = Upgrade(4) & "/100 "
    26. Label15.Text = Upgrade(5) & "/100 "
    27. Label16.Text = Upgrade(6) & "/100 "
    28. Label17.Text = Upgrade(7) & "/100 "
    29. Label18.Text = " Kosten "
    30. Label19.Text = " Upgrades "
    31. Label20.Text = " + Klicks "
    32. End Sub
    33. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    34. If Form3.Geld >= 25 Then
    35. Form3.Geld = Form3.Geld - 25
    36. Form3.Level2 += 1
    37. Label1.Text = Form3.Geld
    38. Form3.Label1.Text = Form3.Geld & " $"
    39. Label21.ForeColor = Color.Green
    40. Label21.Text = "Upgrade gekauft!"
    41. Label21.Visible = True
    42. Timer1.Enabled = True
    43. Upgrade(0) += 1
    44. Label10.Text = Upgrade(0) & "/100 "
    45. Else
    46. Label21.ForeColor = Color.Red
    47. Label21.Text = "Nicht genügend Geld!"
    48. Label21.Visible = True
    49. Timer1.Enabled = True
    50. End If
    51. End Sub
    52. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    53. Label21.Visible = False
    54. Timer1.Enabled = False
    55. End Sub
    56. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    57. If Form3.Geld >= 1000 Then
    58. Form3.Geld = Form3.Geld - 1000
    59. Form3.Level2 += 5
    60. Label1.Text = Form3.Geld
    61. Form3.Label1.Text = Form3.Geld & " $"
    62. Label21.ForeColor = Color.Green
    63. Label21.Text = "Upgrade gekauft!"
    64. Label21.Visible = True
    65. Timer1.Enabled = True
    66. Upgrade(1) += 1
    67. Label11.Text = Upgrade(1) & "/100 "
    68. Else
    69. Label21.ForeColor = Color.Red
    70. Label21.Text = "Nicht genügend Geld!"
    71. Label21.Visible = True
    72. Timer1.Enabled = True
    73. End If
    74. End Sub
    75. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
    76. If Form3.Geld >= 5000 Then
    77. Form3.Geld = Form3.Geld - 5000
    78. Form3.Level2 += 10
    79. Label1.Text = Form3.Geld
    80. Form3.Label1.Text = Form3.Geld & " $"
    81. Label21.ForeColor = Color.Green
    82. Label21.Text = "Upgrade gekauft!"
    83. Label21.Visible = True
    84. Timer1.Enabled = True
    85. Upgrade(2) += 1
    86. Label12.Text = Upgrade(2) & "/100 "
    87. Else
    88. Label21.ForeColor = Color.Red
    89. Label21.Text = "Nicht genügend Geld!"
    90. Label21.Visible = True
    91. Timer1.Enabled = True
    92. End If
    93. End Sub
    94. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
    95. If Form3.Geld >= 10000 Then
    96. Form3.Geld = Form3.Geld - 10000
    97. Form3.Level2 += 25
    98. Label1.Text = Form3.Geld
    99. Form3.Label1.Text = Form3.Geld & " $"
    100. Label21.ForeColor = Color.Green
    101. Label21.Text = "Upgrade gekauft!"
    102. Label21.Visible = True
    103. Timer1.Enabled = True
    104. Upgrade(3) += 1
    105. Label13.Text = Upgrade(3) & "/100 "
    106. Else
    107. Label21.ForeColor = Color.Red
    108. Label21.Text = "Nicht genügend Geld!"
    109. Label21.Visible = True
    110. Timer1.Enabled = True
    111. End If
    112. End Sub
    113. Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
    114. If Form3.Geld >= 25000 Then
    115. Form3.Geld = Form3.Geld - 25000
    116. Form3.Level2 += 50
    117. Label1.Text = Form3.Geld
    118. Form3.Label1.Text = Form3.Geld & " $"
    119. Label21.ForeColor = Color.Green
    120. Label21.Text = "Upgrade gekauft!"
    121. Label21.Visible = True
    122. Timer1.Enabled = True
    123. Upgrade(4) += 1
    124. Label14.Text = Upgrade(4) & "/100 "
    125. Else
    126. Label21.ForeColor = Color.Red
    127. Label21.Text = "Nicht genügend Geld!"
    128. Label21.Visible = True
    129. Timer1.Enabled = True
    130. End If
    131. End Sub
    132. Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
    133. If Form3.Geld >= 50000 Then
    134. Form3.Geld = Form3.Geld - 50000
    135. Form3.Level2 += 100
    136. Label1.Text = Form3.Geld
    137. Form3.Label1.Text = Form3.Geld & " $"
    138. Label21.ForeColor = Color.Green
    139. Label21.Text = "Upgrade gekauft!"
    140. Label21.Visible = True
    141. Timer1.Enabled = True
    142. Upgrade(5) += 1
    143. Label15.Text = Upgrade(5) & "/100 "
    144. Else
    145. Label21.ForeColor = Color.Red
    146. Label21.Text = "Nicht genügend Geld!"
    147. Label21.Visible = True
    148. Timer1.Enabled = True
    149. End If
    150. End Sub
    151. Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
    152. If Form3.Geld >= 100000 Then
    153. Form3.Geld = Form3.Geld - 100000
    154. Form3.Level2 += 150
    155. Label1.Text = Form3.Geld
    156. Form3.Label1.Text = Form3.Geld & " $"
    157. Label21.ForeColor = Color.Green
    158. Label21.Text = "Upgrade gekauft!"
    159. Label21.Visible = True
    160. Timer1.Enabled = True
    161. Upgrade(6) += 1
    162. Label16.Text = Upgrade(6) & "/100 "
    163. Else
    164. Label21.ForeColor = Color.Red
    165. Label21.Text = "Nicht genügend Geld!"
    166. Label21.Visible = True
    167. Timer1.Enabled = True
    168. End If
    169. End Sub
    170. Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
    171. If Form3.Geld >= 500000 Then
    172. Form3.Geld = Form3.Geld - 500000
    173. Form3.Level2 += 225
    174. Label1.Text = Form3.Geld
    175. Form3.Label1.Text = Form3.Geld & " $"
    176. Label21.ForeColor = Color.Green
    177. Label21.Text = "Upgrade gekauft!"
    178. Label21.Visible = True
    179. Timer1.Enabled = True
    180. Upgrade(7) += 1
    181. Label17.Text = Upgrade(7) & "/100 "
    182. Else
    183. Label21.ForeColor = Color.Red
    184. Label21.Text = "Nicht genügend Geld!"
    185. Label21.Visible = True
    186. Timer1.Enabled = True
    187. End If
    188. End Sub
    189. End Class

    thunder1706 schrieb:

    Jetzt verstehe ich das nicht mehr wenn ich das Public in Form3 raus nehme dann zeigt er mir in Form5 das nicht mehr richtig an.


    Allein schon an diesem Satz sollte dir klar werden, dass deine Benennung total für den Müll ist. Woher sollen wir wissen, was Form3, Form5, Form4, Label1, Label2, Label5, Timer1, etc machen bzw wie die sich unterscheiden? Das Einzige was wir da rausholen können ist, dass Timer1 wahrscheinlich ein Timer ist.

    Ich würde dich bitten, deine Controls richtig zu benennen und deine Dialoge zu instanzieren. Denn sobald du einen anderen Thread da was machen lässt, fliegt dir das Ganze um die Ohren.

    Außerdem beschreibe bitte mal genauer, was jetzt was ist und was das machen soll, ansonsten ist das hier ein Rumraten.

    LG

    PS:

    Trade schrieb:

    Das ist Option Strict On-konfrom, soweit ich das gesehen habe.

    Soweit ich weiss streicht mir IntelliSense sowas

    VB.NET-Quellcode

    1. Label4.Text = ProgressBar1.Value & " /" & ProgressBar1.Maximum & "Klicks"
    dick an, kann mich aber auch irren. Ist etwas länger her, dass ich in VB gearbeitet habe.
    Normal ist der ​&-Operator entsprechend überladen und ruft automatisch ​ToString auf.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    So ich hab es mal versucht

    Visual Basic-Quellcode

    1. ​Public Class Form3 'Das ist das Spiel Fenster
    2. Public Geld As Integer
    3. Dim Klicks As Integer
    4. Public Level2 As Integer = 1
    5. Dim Arbeiter As Integer = 0
    6. Public Level As Integer = 25
    7. Dim Klicks1 As Integer
    8. Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    9. Geld = 0
    10. Klicks = 0
    11. Level2 = 1
    12. Level = 25
    13. Label1.Text = Geld & " $ " 'zeigt das geld in $ an
    14. Label2.Text = Klicks & " Klicks " 'zeigt die Mausklicks an
    15. Label3.Text = Arbeiter & " Arbeiter " 'zeigt die Eingestellten Arbeiter an
    16. Label4.Text = ProgressBar1.Value & " /" & ProgressBar1.Maximum & "Klicks" ' zeigt die klicks an die man gemacht hat und das maximum der Progressbar
    17. Label1.Text = Form5.Label1.Text 'übermittelt den wert zu Form5
    18. End Sub
    19. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    20. Form4.Show() 'Zeigt den Shop an
    21. Me.Hide() 'Versteckt das Fenster
    22. End Sub
    23. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    24. Geld = Geld + Level2 'zählt zu dem Geld das Level2 hinzu wenn man es im Shop gekauft hat
    25. Label1.Text = Geld & " $ " 'zeigt an wie viel geld man hat
    26. Klicks = Klicks + 1 'zählt die mausklicks
    27. Klicks1 = Klicks1 + 1 'zeigt an das Klicks1 bei jedem klick +1 gerechnet wird
    28. Label2.Text = Klicks & " Klicks " 'zeigt die klicks an
    29. ProgressBar1.Value = Klicks1 'Füllt die Progressbar mit Klicks1 +1
    30. If ProgressBar1.Value = ProgressBar1.Maximum = True Then 'wenn die Progressbar auf 100%
    31. MessageBox.Show(" Du hast 500$ bonus bekommen ") 'ist öffnet sich ein Fenster mit
    32. ProgressBar1.Value = ProgressBar1.Minimum 'Geld Bonus und die Bar wird
    33. Klicks1 = 0 'auf Null gesetzt
    34. Geld = Geld + 500
    35. End If
    36. Label4.Text = ProgressBar1.Value & " /" & ProgressBar1.Maximum & "Klicks"
    37. End Sub
    38. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    39. Me.Close() 'Schließt das Programm
    40. End Sub
    41. End Class
    42. Public Class Form5 ' Das ist der Shop für Mausklicks upgrades
    43. Dim Upgrade(7) As Integer
    44. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    45. Form4.Show() ' Soll den Shop anzeigen mit den Jeweiligen auswahlen
    46. Me.Hide()
    47. End Sub
    48. Private Sub Form5_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    49. Dim i As Integer
    50. For i = 0 To 6 Step 1
    51. Upgrade(i) = 0
    52. Next i
    53. Label1.Text = Form3.Geld
    54. Label2.Text = " 25 " 'zeigt an wieviel man für das Upgrade braucht
    55. Label3.Text = " 1000 " 'zeigt an wieviel man für das Upgrade braucht
    56. Label4.Text = " 5000 " 'zeigt an wieviel man für das Upgrade braucht
    57. Label5.Text = " 10000 " 'zeigt an wieviel man für das Upgrade braucht
    58. Label6.Text = " 25000 " 'zeigt an wieviel man für das Upgrade braucht
    59. Label7.Text = " 50000 " 'zeigt an wieviel man für das Upgrade braucht
    60. Label8.Text = " 100000 " 'zeigt an wieviel man für das Upgrade braucht
    61. Label9.Text = " 500000 " 'zeigt an wieviel man für das Upgrade braucht
    62. Label10.Text = Upgrade(0) & "/100 " 'zeigt an wieviele Upgrades man gekauft hat von 100
    63. Label11.Text = Upgrade(1) & "/100 " 'zeigt an wieviele Upgrades man gekauft hat von 100
    64. Label12.Text = Upgrade(2) & "/100 " 'zeigt an wieviele Upgrades man gekauft hat von 100
    65. Label13.Text = Upgrade(3) & "/100 " 'zeigt an wieviele Upgrades man gekauft hat von 100
    66. Label14.Text = Upgrade(4) & "/100 " 'zeigt an wieviele Upgrades man gekauft hat von 100
    67. Label15.Text = Upgrade(5) & "/100 " 'zeigt an wieviele Upgrades man gekauft hat von 100
    68. Label16.Text = Upgrade(6) & "/100 " 'zeigt an wieviele Upgrades man gekauft hat von 100
    69. Label17.Text = Upgrade(7) & "/100 " 'zeigt an wieviele Upgrades man gekauft hat von 100
    70. Label18.Text = " Kosten " ' zeigt die Kosten an
    71. Label19.Text = " Upgrades " ' Zeigt die Upgrades an
    72. Label20.Text = " + Klicks " 'Zeigt an um wieviel der Mausklick erhöht wird
    73. End Sub
    74. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    75. If Form3.Geld >= 25 Then 'Wenn mein Geld mehr als 25 beträgt soll er
    76. Form3.Geld = Form3.Geld - 25 'hingehen und von meinem Geld bei einem Klick -25
    77. Form3.Level2 += 1 'rechnen und Level2 + 1 rechnen.
    78. Label1.Text = Form3.Geld 'Er öffnet mir eine status meldung mit
    79. Form3.Label1.Text = Form3.Geld & " $" 'Upgrade gekauft
    80. Label21.ForeColor = Color.Green 'wo bei der Timer gestartet wird und nach 1 sec
    81. Label21.Text = "Upgrade gekauft!" 'das fenster wieder geschloßen wird
    82. Label21.Visible = True 'durch den kauf wird jetzt im Label an gezeigt
    83. Timer1.Enabled = True 'das ich ein upgrade gekauft habe von 100
    84. Upgrade(0) += 1 '
    85. Label10.Text = Upgrade(0) & "/100 " '
    86. Else
    87. Label21.ForeColor = Color.Red 'Sollte ich nicht genug geld haben wird ein
    88. Label21.Text = "Nicht genügend Geld!" 'Fenster geöffnet mit Nicht genug Geld
    89. Label21.Visible = True
    90. Timer1.Enabled = True
    91. End If
    92. End Sub


    Ich hoffe ihr habt es so gemeint das man es besser sieht was was ist
    Hab die letzten Posts nicht gelesen, aber du brauchst Klicks1 nicht. Sobald du bei 506 Klicks bist, soll die ProgressBar wieder bei 1 sein. Was zufällig Modulo ist.
    Also einfach PB.Value = Klicks Mod 505 und du schenkst dir die extra Variable.

    Und guck dir mal den Link bzgl. der Instanziierung von Forms an, das ist wirklich unschön.

    EDIT: Ach, und benenne mal deine Controls. Label22 ist so nichtsaussagend wie Toastbrot. Nenn das iwie lblUpgrade oder so
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais