Diskussion zum Artikel "DoEasy. Steuerung (Teil 27): Arbeiten am WinForms Objekt der ProgressBar"

 

Neuer Artikel DoEasy. Steuerung (Teil 27): Arbeiten am WinForms Objekt der ProgressBar :

In diesem Artikel werde ich die Entwicklung des ProgressBar-Steuerelements fortsetzen. Insbesondere werde ich die Funktionen zur Verwaltung des Fortschrittsbalkens und der visuellen Effekte erstellen.

Kompilieren und starten Sie den EA auf dem Chart:


In der ersten Schleife sehen wir, wie die Breite des ProgressBar-Objekts zunimmt und die Breite des Fortschrittsbalkens ebenfalls proportional zunimmt. Gleichzeitig wird der Wert anfangs auf 50 gesetzt, und das bleibt auch so, da die Breite des Fortschrittsbalkens in relativen Werten festgelegt wird.

In der zweiten Schleife rufen wir jedes Mal die Methode PerformStep auf, die bei jedem Schritt den (relativen) Wert um den Wert des Inkrementschrittes erhöht. Obwohl es 350 Schritte sind, können wir sehen, dass der Fortschrittsbalken um mehr als 1 Pixel pro Zeiteinheit wächst. Dies ist darauf zurückzuführen, dass alle Werte relativ sind und als Prozentsatz der Breite des Fortschrittsbalkens berechnet werden. Dies ist korrekt, da es unmöglich ist, bei jedem Schritt ein Pixel zu erhöhen. Wenn die Breite des Fortschrittsbalkens 100 Pixel und die Anzahl der Schritte 1000 beträgt, gibt es 10 Inkrementschritte pro Pixel. Sie werden bei der Berechnung der relativen Werte übersprungen.

Wenn die Schleife zur Erhöhung des Fortschrittsbalkens abgeschlossen ist, sehen wir alle zwei Sekunden ein grelles Licht durch ihn laufen. Das reicht zur Demonstration. Für ein normales Erscheinungsbild ist dies jedoch nicht ausreichend. Erstens sollte die Blende entlang des sich bewegenden Fortschrittsbalkens verlaufen und nicht entlang des abgeschlossenen Balkens, und zweitens ist der „Effekt“ zu simpel ausgefallen. Ich werde all dies schrittweise verbessern.

Autor: Artyom Trishkin