У меня есть несколько панелей в одном окне в приложении C#, и я создал 2 полосы прокрутки, одну для горизонтальной и одной вертикальной. Это то, что я в настоящее время:Как манипулировать LargeChange и SmallChange на полосе прокрутки для работы
picture with 2 scroolbars http://www.simnet.is/elinnils52/scrollbar.jpg
У меня есть 1 переменной и это общая высота все элементы принимают & необходимость. Вот мой код на изменение прокрутки:
for (int i = 0; i < this._splitMainView.Panel2.Controls.Count; i++)
{
this._splitMainView.Panel2.Controls[i].Location = new Point(
3 - _scrollBarX.Value,
3 + (132 + 6) * (i - 2) - _scrollBarY.Value);
this._splitMainView.Panel2.Controls[i].Refresh();
}
Максимальная полоса прокрутки является общая сумма всех контейнеров высоты, пространство между ними и несколько пикселей дополнительно.
Как вы можете видеть на картинке, это выглядит не очень хорошо. Даже если максимум в этом случае составляет около 50-100 пикселей, он по-прежнему выглядит как тысяча страниц. Когда я меняю SmallChange и LargeChange, сама полоса полосы прокрутки удлиняется, но тогда она не достигает максимальных пикселей. Он сможет получить почти в конце (зависит от значения SmallChange и LargeChange) и оставьте вокруг 5-29 пикселей влево. И, как известно, вид половины не очень хорош.
Кто-нибудь знает, как преодолеть это препятствие или лучший способ его реализовать?