функций программы это просмотр изображений. Я реализовал масштабирование изображение и теперь у меня возникла необходимость прокрутки полученного увеличенного изображения. Вертикальная прокрутка работает из коробки, а вот горизонтальная не хочет. Порывшись в документации, я реализовал следующее:
private void Panel1_MouseWheel(object sender, MouseEventArgs e)
{
if (ModifierKeys == Keys.Shift)
{
panel1.VerticalScroll.Enabled = false;
int direction = e.Delta > 0 ? 0 : 1;
panel1.HorizontalScroll.Value += 10;
base.OnMouseWheel(e);
}
else
{
base.OnMouseWheel(e);
}
}
Однако прокрутка работает в двух направлениях теперь если зажать Shift - по вертикали и по горизонтали
Ну чисто на интуиции. Не вызывай base.OnMouseWheel(e) в секции с зажатым шифтом. И мб e.Handled = true сделать, если в wf такое есть.
Первый совет не помог, Другой не работает.
Enabled у скролла просто запретит его мышкой перетаскивать вроде
Обсуждают сегодня