Animation class

Provides methods for smooth resizing and moving of controls/windows and for fading windows in and out.

Gleitende Übergänge von einer Anzeige zur anderen sehen nicht nur schick aus, sie erleichtern es dem Benutzer auch, dem Geschehen zu folgen und den Überblick zu behalten. Wenn ein Fenster plötzlich verschwindet oder ein Element ohne Hinweis an eine andere Stelle wandert, muss sich der Benutzer erst wieder kurz orientieren. Das führt zu Verzögerungen und hemmt den Arbeitsablauf. Manchmal ist es daher sinnvoll, diese Bewegungen durch Animationen sanft auszuführen. Die Animation-Klasse stellt Methoden bereit, mit denen verschiedene Übergänge auf Fenster und Steuerelemente angewendet werden können.

Compatibility: .NET Version 2.0 or newer

Animationen in JavaScript? Weiter zur coati-Bibliothek…

Beispiel

Der folgende Beispielcode zeigt, wie die Animation-Klasse verwendet werden kann. Das erste Beispiel blendet das Fenster langsam aus und schließt es anschließend. (Close ist eine Methode des Fensters.)

new Animation(AnimationTypes.FadeOut, this, 0, Close);

In diesem Beispiel wird die Fensterhöhe sanft (nach einer exponentiellen Kurve, nicht linear) auf 500 Pixel geändert. Nach Abschluss der Größenänderung wird eine Funktion aufgerufen, die z. B. einzelne Steuerelemente im Fenster anzeigen kann.

private void Animate()
{
    new Animation(AnimationTypes.ResizeVert, this, 500 - Height, AnimationDone);
}

private void AnimationDone()
{
    // …
}

Download

Animation.cs5.6 KiBQuelltext der Animation-Klasse

Hinweise zur Verwendung

Zur Verwendung der Animation-Klasse wird die DelayedCall-Klasse benötigt.

Diese Komponente wurde bislang nur in Windows-Forms-Anwendungen getestet. In WPF-Anwendungen sollten wahrscheinlich besser die Animationsfähigkeiten von WPF verwendet werden.

Änderungen

2009Sep18
Callback-Handler für benutzerdefinierte Animationen hinzugefügt; an neue DelayedCall-Syntax angepasst.
2007Mar31
Für das Ein- und Ausblenden von Fenstern ist ebenfalls die Angabe eines Offset möglich (Format: Integer in Prozent, von 0 bis 100). Die Dauer der Animation fürs Ein- und Ausblenden wurde verändert und kann optional manuell festgelegt werden. Laufende Animationen können abgebrochen werden (Objekt aufheben und Cancel-Methode aufrufen).
2007Feb5
Bei Animationen, die Fenster vergrößern, bleibt das Fenster jetzt vollständig im sichtbaren Bereich. Soll das Fenster z.B. nach unten aus dem Blickfeld vergrößert werden, wird es entsprechend nach oben verschoben.

Licence and terms of use

Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty. (GNU All-Permissive licence)

Statistic data

  • Created on 2006-03-16, updated on 2009-09-18.
  • First used in ARLog: Amateur Radio Logbook.
  • Ca. 100 lines of code, estimated development costs: 100 - 400 €