Visual Basic und die ProgressBar

@Nico:

Das Problem ist in sofern gelöst, das das DEsign von meinem Prog so aussieht wie Windows 98. Sprich die Ecken der Buttons sind nicht rund, sondern eckig. Der Inhalt der Progressbar wird in Blöcken dargstellt und nicht wie bei Windows 7 in einer Linie. ICh hoffe du weißt jetzt was ich meine.
Oder gibt es die auch noch eine Möglichkeit bei Visual Studio verschiedene Designs mit einzubauen?

Hi

Also so richtig ist mir immer noch nicht klar, wann du welchen Wert für die Progressbar gesetzt hast. Es ist an solchen Stellen immer für alle Seiten hilfreich, wenn man die Begriffe verwendet, die auch in der Doku (MSDN) stehen, da so alle das gleich Bild haben.

Ich hab jetzt folgendes verstanden:
- Du hast Visual Styles aktiviert
- ProgressBar.Style steht auf Continous
-- ProgressBar funktioniert nicht

Ist das richtig?

Du setzt ProgressBar.Style auf Blocks --> ProgressBar funktioniert

Auch richtig?

Wenn ja:
BarStyle.Continous verträgt sich nicht mit den Visual Styles. Hier kannst du nur Blocks nutzen.
Diese Info ist aber auch in der MSDN zu finden
http://msdn.microsoft.com/de-de/library/system.windows.forms.progressbarstyle(v=vs.80).aspx
siehe Hinweise!

Wenn nein:
Ich möchte von dir wissen, wie deine ProgressBar eingestellt ist. Zur Not mach eine kleine Beispielanwendung, die das zeigt oder einen Screenshot, ....

@Screenshot
Das sieht mir aber eher nach der VB.NET Express Edition aus, oder? Hat mit dem Problem nichts zu tun, ist nur interessehalber
 
Hi.

Man kann ja wenn man eine Progressbar im Designer hinzufügt, die Eigenschaften ändern, also in einem extra Fenster, welches sich bei mir auf der Rechten Seite befindet (siehe Screenshot).

Ich hab jetzt folgendes verstanden:
- Du hast Visual Styles aktiviert
- ProgressBar.Style steht auf Continous
-- ProgressBar funktioniert nicht

Das ist im Grunde schon richtig nur das ich sämtliche Einstellungen über das Einstellungen-Fenster im Designer mache. Da sage ich auch der Progressbar das sie einen Maximal-Wert von 100 hat und wie der Forschrittsbalken angezeigt werden soll.

Zu deiner Letzten Frage: Ja, es ist die Express Edition, warum?
 

Anhänge

  • Unbenannt.png
    Unbenannt.png
    173 KB · Aufrufe: 34
Hi.

Man kann ja wenn man eine Progressbar im Designer hinzufügt, die Eigenschaften ändern, also in einem extra Fenster, welches sich bei mir auf der Rechten Seite befindet (siehe Screenshot).



Das ist im Grunde schon richtig nur das ich sämtliche Einstellungen über das Einstellungen-Fenster im Designer mache. Da sage ich auch der Progressbar das sie einen Maximal-Wert von 100 hat und wie der Forschrittsbalken angezeigt werden soll.
Hi

Ob du die die Werte via Designer setzt oder via Code ist primär unerheblich. Ich wollte halt überhaupt wissen, was eingestellt ist, dass hast du bisher nämlich konsequent verschwiegen.

Das bedeutet auch, die Einstellungen im Screenshot sind die funktionierenden?!

Ist die Frage mit dem MSDN Artikel dann beantwortet?

Zu deiner Letzten Frage: Ja, es ist die Express Edition, warum?
Hat mit dem Problem nichts zu tun, ist nur interessehalber
 
Nein wenn ich das so einstelle funktioniert das nicht richtig.
Es funktioniert richtig wenn ich den hacken bei "Visual Style" deaktivieren (siehe erster Screenshot) raus mache, aber dann sieht das ganze Programm halt was blöd aus, da das komplette Design dann auf dem Stand von Windows 98 ist.

Auf dem Screenshot kann man noch mal besser erkennen was ich meine :)
 

Anhänge

  • Unbenannt.png
    Unbenannt.png
    171,5 KB · Aufrufe: 40
Hi

Da du immer noch wiedersprüchliche Aussagen triffst, hab ich jetzt versucht, das Thema nachzustellen. Und siehe da, es funktioniert ;)

Hier mal der Code, mit dem ich es versucht hab zu reproduzieren. (Kleine WinForms Anwendung, eine ProgressBar, ein Button, im Button Click untenstehender Code, Visual Styles sind aktiviert)
C#:
progressBar1.Style = ProgressBarStyle.Blocks;
            progressBar1.Maximum = 100;
            progressBar1.Value = 0;
            progressBar1.Step = 10;
            while (progressBar1.Value < progressBar1.Maximum)
            {
                progressBar1.PerformStep();
                Thread.Sleep(400);
            }
 
Naja ich weiß ja nicht so ganz wie das bei dir funktionier, aber bei mir wieder der Button (den ich extra eingefügt habe) wieder viel früher angezeigt (die Progressbar ist noch nicht ganz voll) und das mit dem Style bringt auch nichts.

Oder ich hab ein Fehler gemacht.

Ich hab mal ein Beispiel Programm mit hochgeladen, vielleicht verstehst du besser was ich meine.
 

Anhänge

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
ProgressBar1.Increment(2)
If ProgressBar1.Value = 100 Then
Timer1.Stop()
Form1.Show()
End If
End Sub
Hi wie schnell ist denn dein Timer? Die "neue" Progressbar hat nämlich eine "Maximal Füllgeschwindigkeit", dh. wenn der Timer sehr schnell ist "überholt" er den angezeigten Wert der Progressbar. Falls dies das Problem ist versuch mal folgendes:
1. Erstelle einen neuen Timer in Form1 (Enabled = False)
2. Anstatt in dem obigen If die Form2 zu öffnen startest du dort den Timer2
3. Timer2_Tick: Form2.Show
4. Jetzt musst du das Intervall der 2.Timers so anpassen das er erst Tickt wenn die Progressbar voll ist

Gruß C4Dlooser
 
Zurück