przesuwanie suwaków

0

Witam, mam problem z przesuwaniem suwaków, a dokładnie chciałem zrobić przesuwanie za pomocą klawiszy.
Problem polega na tym, że nie do końca wiem które właściwości edytować. Jeżeli modyfikuję panel.Left += 5, suwak skraca się o przesunięto odległość, a nie przesuwa suwam. Jak naprawić ten błąd?

0

Chodzi Ci o komponent trackBar?

0
Bert1223 napisał(a)

Witam, mam problem z przesuwaniem suwaków, a dokładnie chciałem zrobić przesuwanie za pomocą klawiszy.
Problem polega na tym, że nie do końca wiem które właściwości edytować. Jeżeli modyfikuję panel.Left += 5, suwak skraca się o przesunięto odległość, a nie przesuwa suwam. Jak naprawić ten błąd?

Left to położenie horyzontalne lewego górnego narożnika. Może by tak panel.Value ? Mowa o ScrollBar ?

0

Post był pisany na szybko, jeszcze raz powoli piszę co chcę uzyskać.
Mam panel którego rozmiar przekracza wyznaczony obszar, przez co pokazują się suwaki - scrollbars.
Chciałby przesuwać przy użyciu np. klawiszy: "a,s,d i w", jakie właściwości mam modyfikować? Dla panelu?

0

Do tego służą panel.HorizontalScroll.Value oraz panel.VerticalScroll.Value. Pamiętaj tylko, że nie mogą być ujemne.

0

W dalszym ciągu nie wiem jak użyć tego suwaka :/
Wartość musi być z zakresu od min do max przy czym i tak przy zmianie suwak nawet nie drgnie!

if (przesunMapa)
{
        Point aktualnaPozycja = new Point(e.X - przesunMapaStaraPozycja.X, e.Y - przesunMapaStaraPozycja.Y);
        panel.HorizontalScroll.Maximum = panel.Width;
        panel.HorizontalScroll.Value += 400;
        //panel.Top += aktualnaPozycja.Y;
        //panel.Left += aktualnaPozycja.X;
        przesunMapa = false;
        this.Cursor = Cursors.Default;
}

Za każdym razem okno wyświetlana zawartość okna powinna przesunąć się o 400, ale nic się nie dzieje.
Za komentowany kod przesuw zawartość jednocześnie zmniejszając rozmiar suwaków :/

0

A u mnie takie coś działa:

 const int Step = 10;

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyData == Keys.D)
    {
        this.HorizontalScroll.Value += Step;
    }
    else if (e.KeyData == Keys.A)
    {
        if (this.HorizontalScroll.Value >= Step)
        {
            this.HorizontalScroll.Value -= Step;
        }
    }
    else if (e.KeyData == Keys.W)
    {
        if (this.VerticalScroll.Value >= Step)
        {
            this.VerticalScroll.Value -= Step;
        }
    }
    else if (e.KeyData == Keys.S)
    {
        this.VerticalScroll.Value += Step;
    }
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1