Osobno mouse klik, osobno mouse wheel

0

Witam,

Aplikacja ma za zadanie przesunąć grafikę lub ją zeskalować (grafika wektorowa) w WinForm.

Przesunięcie odbywa się za pomoca ciągu zdarzeń:
private void Vector_MouseDown(object sender, MouseEventArgs e)
private void Vector_MouseMove(object sender, MouseEventArgs e)
private void Vector_MouseUp(object sender, MouseEventArgs e)

Skalowanie chciałem zrealizować za pomoca zdarzenia:
protected override void OnMouseWheel(MouseEventArgs e)
problem w tym, że OnMouseWheel działa jak Mouse Down (a następnie aktywowane jest Mouse Move) a tego chciałbym uniknąć.

Jak to rozwiązać?
próbowałem to rozwiązanie, ale messagebox nie wyskakuje:

        private void Mapa_MouseDown(object sender, MouseEventArgs e)
        {

            if (e.Delta == 0)
            {
                x0 = e.X;
                y0 = e.Y;

            }
            else
            {
                if (e.Delta > 0)
                {
                    vector_z = vector_z * 0.9;
                }
                else
                {
                    vector_z = vector_z / 0.9;
                }

                MessageBox.Show("wheel");
            }
        }
0

Nie wiem jak twój angielski ale z tego co czytam tutaj to nie wszystkie kontrolki mają obsługę MouseWheel i przekazują je na parenta.

0

A nie da się w kontrolce nadrzędnej użyć eventu Mouse.mousewheel zamiast mousewhell?

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