Laden...

Mit Trackbar Panel bewegen

Erstellt von Poly vor 7 Jahren Letzter Beitrag vor 7 Jahren 2.009 Views
P
Poly Themenstarter:in
29 Beiträge seit 2017
vor 7 Jahren
Mit Trackbar Panel bewegen

Hallo,

ich teste gerade etwas rum und wollte ein Panel mittels einer Trackbar bewegen.

Ich will dass wenn ich den Trackbarregler nach links schiebe, das Panel sich ebenfalls nach links bewegt und das selbe nach rechts.

In dem Code wo ich geschrieben habe, bewegt sich das Panel nach links oder rechts, je nachdem auf welcher Seite ich den Regler benutze. Das heißt, ist er unter 0, nach links. Über 0, nach rechts.
(Habe als Min Wert -255 und Max 255)

Mir ist bewusst wo der Fehler ist, bzw warum das so passiert. Allerdings nicht, wie ich es korrekt hinschreibe 😃

1
124 Beiträge seit 2012
vor 7 Jahren

Dein Post hört sich so als ob du schon eine Lösung hast, aber erwartest, das wir dir trotzdem eine Lösung schreiben sollen.
Das wird hier aber keiner machen.

Wenn du ein Problem hast mit deinem Code, dann bitte den Code hier Posten und beschreiben was genau nicht funktioniert.

Gruß

P
Poly Themenstarter:in
29 Beiträge seit 2017
vor 7 Jahren

Der aktuelle Code sieht so aus:

 [csharp]private void trackBar1_Scroll(object sender, EventArgs e)
        {
            trackBar1.Enabled = true;

            if (trackBar1.Value < 0)
                panel1.Location = new Point(panel1.Location.X - 1, panel1.Location.Y);
            else if (trackBar1.Value > 0)
                    panel1.Location = new Point(panel1.Location.X + 1, panel1.Location.Y);
[/csharp]

Mit diesem Code kann man das Panel nach links bewegen, sofern sich der Regler unter 0 befindet. Das heißt egal ob ich ihn nach links oder rechts schiebe - sobald er unter 0 ist, geht das Panel nach links.

Ausgangspunkt soll die Mitte sein.

Man müsste halt dem Regler sagen, dass das Panel bei jeder Regler-Bewegung nach links, das Panel nach links geht. Und sobald man ihn nach rechts schiebt - egal auf welcher Seite er sich von 0 befindet, das Panel nach rechts geht.

Ich müsste halt dem Regler sagen, das bei JEDER linksbewegung das Panel nach links geht und bei jeder rechtsbewegung, nach rechts. Und wie ich das schreiben soll, weiß ich nicht genau 😃

4.942 Beiträge seit 2008
vor 7 Jahren

Willst du nicht einfach die X Position direkt übernehmen?


const int OriginX = 100; // Ursprungsposition des Panels
int x = OriginX + trackBar1.Value;
panel1.Location = new Point(x, panel1.Location.Y);

P
Poly Themenstarter:in
29 Beiträge seit 2017
vor 7 Jahren

vielen Dank 😃