Laden...

|JuyJuka.ControlBewegung| Lustige Komponente um Controls herum gleiten zu lassen

Erstellt von JuyJuka vor 12 Jahren Letzter Beitrag vor 12 Jahren 4.021 Views
JuyJuka Themenstarter:in
2.187 Beiträge seit 2005
vor 12 Jahren
|JuyJuka.ControlBewegung| Lustige Komponente um Controls herum gleiten zu lassen

Hallo @All,
Beschreibung:

Gerade hatte ich etwas Zeit und Lust zu Programmieren und da hat mich folgender Thread Bewegen mehrerer Controls per Schleife und Timer auf die Idee gebracht eine Komponente zu schreiben, welche es ermöglicht die Bewegung eines Controls über die Maske zu definieren und auch auszuführen.

Eine kleine Demo und die DLL findet Ihr als Anhang.

Gruß
Juy Juka

Schlagwörter: System.Windows.Forms, Control, Bewegen

JuyJuka Themenstarter:in
2.187 Beiträge seit 2005
vor 12 Jahren

Hallo,

wie immer schade um den Dopplepost, aber zwei Dateianhänge brauchen zwei Posts.

Man kann mit der Komponente einstellen *(Control)Welches Control wandern soll. *(Schritte) Ist ein Array von Schritten die nach einander durchlaufen. *(Schritte.Richtung)Wohin es wandern soll
-XPlus = Rechts
-XMinus = Links
-YPlus = Unten
-YMinus = Oben

*(Schritte.GesamtLaenge)Wie weit es wandern soll *(Schritte.EinzelLaenge) Wie weit es auf einmal wandern soll *(DisableParent)Bestimmt ob das Übergeordnete Control ebenfalls wärend der Wanderung deaktiviert ist (sicher ist sicher) *(EinzelSchrittZeit)Bestimmt wie lange das Control wartet bis es noch einen Bewegung mach, bis es den gesamte Bewegung des Schrittes beendet hat. *(Vorgaenge)Wie man mit dem Array von Schritten mehrer Bewegungen für ein Control machen kann, so kann man durch das Anhängen einer weiteren BewegungAusfuehrung mehrer Kontrols wandern lassen. *(Wartezeit) Wenn mann nach dem aufrufen von Start noch etwas verzögern will.

Alle Zeit-Angaben sind in Millisekunden.

**Tipp:**Sollen die Controls hintereinander her, einfach die ersten BewegungAusfuehrung konfigurieren und dann mit Strg+C und Strg+V für die Anderen Controls kopieren und mit Vorgaenger verknüpfen.
**Tipp:**Wenn man den Vorgaenger auf sichselbst setzt, wandert das Control unaufhöhrlich.

Wenn alles fertig Konfiguriert ist, einfach mit .Start() (z.B. in Form_Load oder Button_Click) los laufen lassen.

Gruß
Juy Juka

JuyJuka Themenstarter:in
2.187 Beiträge seit 2005
vor 12 Jahren

Hallo @All,

und weil ich euch kenne 😉 und weil ich hoffe, dass ihr meine Fehler im Code noch findet, kommt hier die Projekt-Mappe.

Gruß
Juy Juka

PS: falls jemand Bilder zu einem animierten Gif zusammen setzen kann, würd ich mich freuen wenn er ein Gif von der Demo-Applikation machen könnte. Danke.

JuyJuka Themenstarter:in
2.187 Beiträge seit 2005
vor 12 Jahren

Hallo @All,

Nur Controls tanzen zu lassen war mir zu langweilig. 😉
Also hab ich gleich weiter gemacht und Version 1.1.0.0 gemacht. 😁

Ich habe ein Fluent-Interface für die Bewegungen hinzugefügt:


JuyJuka.ControlBewegung.Fluent.
Neue.Bewegung()
  .NachXMinusUm(100)
  .NachYPlusUm(100)
  .NachXPlusUm(100)
  .NachYMinusUm(100)
  .In(this.bewegungAusfuehrer1)
  .OhneParrentSperre()
  .BeschleunigtMit(30)
  .PausiertUm(10)
.GefolgtVon()
  .NachXMinusUm(100)
  .NachYPlusUm(100)
  .NachXPlusUm(100)
  .NachYMinusUm(100)
  .Von(this.button1)
  .OhneParrentSperre()
  .PausiertUm(10)
  .BeschleunigtMit(3)
  .Starten();

Und weil's so schön ist gleich auch noch eine Skriptsprache angefügt. Skripte kann man mit dem neuen BewegungsParser ein- und ausgeben lassen.


x+ 100 / 1
y+ 99 / 33
x- 100 / 10
y- 99 

y+ 0 / 0 Alternativ gibt es noch eine schreibweise mit Pfeilen (siehe Anhang)

Bei dem ganzen ist auch noch eine hübschere ToString-Methode für die BewegungsSchritt-Klasse rausgesprungen, die man auf dem Screen-Shot oben bewundern kann. 😉

Alle Downloads wurden aktualisiert und immer noch gilt: Ich freu mich über Kritik, Verbesserungsvoschläge und Verbesserungen (als Quellcode hochgeladen).

Gruß
Juy Juka