Я начну с того, что пытаюсь добиться:
У меня есть данные, загруженные в диапазоне, где, скажем, прокрутка полностью влево ставит меня 1 апреля, а прокрутка вправо - 1 июня.
Пользователь помещает полосу прокрутки 1 апреля и нажимает стрелку влево на полосе прокрутки. Теперь полоса прокрутки расположена на 31 марта, и диапазон данных теперь охватывает период с 1 марта по 1 июня.
Вот моя проблема:
Я обработал нажатие левой стрелки в обработчике события Scroll (примерно следующим образом):
private void horizontalScroll_Scroll(object sender, ScrollEventArgs e)
{
if (LeftArrowClicked())
{
horizontalScroll.Maximum = calculateNewMaximum(earliestDate, latestDate);
horizontalScroll.Value = calculateNewPosition(currentDate.AddDays(-1), earliestDate);
}
}
По завершении работы с отладчиком, в момент, когда он покидает этот обработчик события, horizontalScroll.Value падает до 0, а горизонтальный_скролл.Максимум остается на правильном значении.
Я опубликую позже с любыми разъяснениями и ответами на вопросы.