BExplorer.Shell.ShellView.ThreadRun_Helper C# (CSharp) Method

ThreadRun_Helper() private method

private ThreadRun_Helper ( SyncQueue queue, Boolean useComplexCheck, Int32 &index ) : Boolean
queue SyncQueue
useComplexCheck Boolean
index Int32
return Boolean
    private Boolean ThreadRun_Helper(SyncQueue<Int32?> queue, Boolean useComplexCheck, ref Int32? index) {
      try {
        index = queue.Dequeue();
        if (index == null) {
          return false;
        } else {
          var result = User32.SendMessage(this.LVHandle, Interop.MSG.LVM_ISITEMVISIBLE, index.Value, 0) != IntPtr.Zero;
          //var itemBounds = new User32.RECT();
          //var lvi = this.ToLvItemIndex(index.Value);

          //User32.SendMessage(this.LVHandle, MSG.LVM_GETITEMINDEXRECT, ref lvi, ref itemBounds);

          //var r = new Rectangle(itemBounds.Left, itemBounds.Top, itemBounds.Right - itemBounds.Left, itemBounds.Bottom - itemBounds.Top);

          //if (useComplexCheck)
          //	return index < Items.Count && r.IntersectsWith(this.ClientRectangle);
          //else
          //	return r.IntersectsWith(this.ClientRectangle);
          return result;
        }
      } catch {
        return false;
      }
    }
ShellView