Class FrameworkProgress
Mit Hilfe eines FrameworkProgress Objektes kann der Client über einen längeren Vorgang auf dem Server informiert werden. Dabei erscheint ein Fortschrittsbalken (engl. progress bar). Die Aktualisierung dessen erfolgt nicht in Echtzeit, da der Client diesbezüglich in kurzen, zeitlichen Abständen Anfragen an den Server schickt.
Inheritance
Namespace: FrameworkSystems.FrameworkBase
Assembly: FrameworkSystems.FrameworkBase.dll
Syntax
[DocfxBrowsable]
public class FrameworkProgress : IDisposable
Remarks
Es können auch mehrere FrameworkProgress Objekte zeitgleich verwendet werden. Die angezeigten Balken werden untereinander angeordnet.
Examples
using(FrameworkProgress progress = new FrameworkProgress(this.Global))
{
// gibt an, ob der Cancel-Button überhaupt angezeigt werden soll
progress.CanCancel = true;
// sonstige Eigenschaften
progress.Text = "Fortschritt ...";
progress.MaxValue = 1000;
for(int i = 0; i <= progress.MaxValue; i++)
{
// breche ab, falls progress.Canceled = true
if(progress.Canceled)
{
break;
}
progress.Value = i;
progress.DetailText = "i hat den Wert " + i;
// Aktion ...
}
}
Anzeige auf dem Client:
Constructors
FrameworkProgress(IGlobalObjects)
Der Konstruktor nimmt das Objekt this.Global
(IGlobalObjects) entgegen, wodurch die aktuelle Client-Session zugeordnet werden kann.
Properties
CanCancel
Wenn diese Eigenschaft true
ist, wird im Client ein Button zum Abbrechen des Vorgangs angezeigt.
Betätigt der Nutzer diesen Button, so ist die Eigenschaft Canceled auf true
.
Canceled
Wird auf true
gesetzt, nachdem der Benutzer am Client den Cancel-Button betätigt hat.
Sie kann nicht zurückgesetzt werden. Vorraussetzung ist, dass die Eigenschaft CanCancel
auf true
gesetzt wird.
DetailText
Der Text, der unter dem ProgressBar angezeigt werden soll.
Id
Ein Global Unique Identifier, mit dem das FrameworkProgress Objekt eindeutig identifiziert werden kann.
MaxValue
Der Maximalwert des Fortschrittsbalken.
Text
Der Text, der über dem ProgressBar angezeigt werden soll.
Value
Der aktuelle Wert des Fortschrittsbalken. Hierfür muss gelten 0 ≤ Value ≤ MaxValue.
Methods
Dispose()
FrameworkProgress implementiert IDisposable. Nach dem Dispose verschwindet der ProgressBar auf dem Client.