2010年5月5日 星期三

關於scrollbar 位置移動的問題

如果有用scrollbar的人應該會發現,
當選取的物件在下方時(例如panel 內有10個item),
scrollbar並不會移動到你想要得位置,
造成你選取的物件沒辦法在視界上看得到,
必須拉動scrollbar位置才能看到,
以下範例可以解決此問題,


此範例為vertical scrollbar為例子:

private void ScrollTo(int top)
{
if (top >= ((Panel)this.Parent).VerticalScroll.Minimum && top <= ((Panel)this.Parent).VerticalScroll.Maximum)
{
((Panel)this.Parent).AutoScrollPosition = new Point(((Panel)this.Parent).HorizontalScroll.Value, top);
}
}

private void Item_OnClick()
{
((Panel)this.Parent).AutoScroll = false;
.....
.....
.....
((Panel)this.Parent).AutoScroll = true;
ScrollTo(this.Location.Y);
}

沒有留言:

張貼留言