/// <summary>
        /// Render a list of findItems (Works for both Find in Open documents and Find in Files)
        /// </summary>
        /// <param name="findItems"></param>
        public void Render(FindList findItems)
        {
            _findText   = findItems.Find;
            _findLength = _findText.Length;
            TreeFind.BeginUpdate();
            TreeFind.Nodes.Clear();
            try
            {
                FindItem lastItem   = null;
                TreeNode parentNode = null;
                foreach (FindItem item in findItems.Items)
                {
                    if (lastItem == null || lastItem.FileName != item.FileName || lastItem.Document != item.Document)
                    {
                        parentNode = new TreeNode(item.Name);
                        TreeFind.Nodes.Add(parentNode);
                    }

                    TreeNode node = new TreeNode(item.Text);
                    node.Tag = item;

                    parentNode.Nodes.Add(node);
                    lastItem = item;
                }


                // Expand all results.
                TreeFind.ExpandAll();
            }
            catch { }
            TreeFind.EndUpdate();
        }
 /// <summary>
 /// Handle the mousedown event so that the proper node can be selected no matter where
 /// the user clicks.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void TreeFind_MouseDown(object sender, MouseEventArgs e)
 {
     try
     {
         TreeNode node = TreeFind.GetNodeAt(new Point(10, e.Y));
         if (node != null)
         {
             TreeFind.SelectedNode = node;
         }
     }
     catch { }
 }