public void UpdateVisibility(bool visible)
 {
     if (labels[0].InvokeRequired)
     {
         UpdateDisplayDel d = UpdateDisplay;
         labels[0].Invoke(d, new object[] { visible });
     }
     else
     {
         for (int i = 0; i < maxNumItems; i++)
         {
             labels[i].Visible = visible;
         }
     }
 }
 public void UpdateDisplay(bool updateText)
 {
     UpdateVisibility(resultIndex >= 0);
     if (labels[0].InvokeRequired)
     {
         UpdateDisplayDel d = UpdateDisplay;
         labels[0].Invoke(d, new object[] { updateText });
     }
     else
     {
         for (int i = 0; i < maxNumItems; i++)
         {
             labels[i].BackColor = ((i == indexOffset && i < DisplayCount) ? Color.Gold : Color.White);
             if (updateText)
             {
                 labels[i].Text = ((i < DisplayCount) ? items[resultIndex + i].DisplayText : "");
             }
         }
     }
 }