private void DoSelectedVisible()
{
if (FocussedItem != null)
SetToolTip(FocussedItem);
var y = FocussedItemIndex*itemHeight - VerticalScroll.Value;
if (y < 0)
VerticalScroll.Value = FocussedItemIndex*itemHeight;
if (y > ClientSize.Height - itemHeight)
VerticalScroll.Value = Math.Min(VerticalScroll.Maximum,
FocussedItemIndex*itemHeight - ClientSize.Height + itemHeight);
//some magic for update scrolls
AutoScrollMinSize -= new Size(1, 0);
AutoScrollMinSize += new Size(1, 0);
}