private int GetPreviousItem(int index)
{
if (index < 0)
{
throw new ArgumentException("index");
}
int count = NativeMethods.SendMessage(this.Handle, NativeMethods.TB_BUTTONCOUNT, 0, 0);
int prevIndex = index;
do
{
prevIndex = (prevIndex + count - 1) % count;
}
while ((prevIndex != index) && (!items[prevIndex].IsVisible));
return prevIndex;
}