Hallo,
ich Programmiere eine Art Playstation 3 Menü für meinen Computer.
Alle Pictureboxen werden erzeugt und werden der Auflösung entsprechend auf die Form gefügt.
Nun will ich eine Animation erstellen indem ich die vertikalen Pictureboxen anhand eines Timers verschiebe.
Zur grundsätzlichen Erklärung: Das Menü sieht so aus:
s1.directupload.net/...714/4xfb4ind_png.htm
die Kategorie, sowohl die Verknüpfungen sollen verschoben werden.
Die Kategorien haben funktioniert, doch ich finde meinen Fehler in dem Code für die Verknüpfungen nicht. (Ich versuche gerade erst nur die Animation "nach oben")
Die Verschiebung oberhalb der Mittelleiste is kein Problem (genauso Unterhalb)
Problem ist die Verschiebung von unten nach oben, da dort ein anderer Wert gefragt ist.
Diese Verschiebung ist (warum auch immer) unterschiedlich?!
s1.directupload.net/...714/dxtdvgo8_png.htm
Sieht jemand mein Fehler?
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| if (CtrlVHeart[CtrlVHeart.Length - 1].Location.Y != pVertical5.Y) { if ((iMove < 10)) { for (int i = 0; i < CtrlVHeart.Length; i++) { if ((CtrlVHeart[i].Location.Y > pVertical5.Y) || (CtrlVHeart[i].Location.Y < pVertical4.Y)) { CtrlVHeart[i].Location = new Point(pMenu4.X, CtrlVHeart[i].Location.Y - iYMove); } else { CtrlVHeart[i].Location = new Point(pMenu4.X, CtrlVHeart[i].Location.Y - iY4to5 / 10); } } iMove += 1; } else { timer_Top.Stop(); } } |
CtrlVHeart ist eine Picturebox array, die ich schon deklariert habe.
pVertical5 ist die erste Verknüpfung unterhalb der Mitte.
pVertical4 ist die oberhalb der Mitte.
int iY4to5 = pVertical5.Y - pVertical4.Y;
int iYMove = (((Screen.PrimaryScreen.WorkingArea.Height - 100) / 10) / 10);
Sry für die schwere Erklärung. Bei Fragen stehe ich gerne zur Verfügung