System.Windows.Forms.TreeView._UpdateScrollList C# (CSharp) Method

_UpdateScrollList() private method

private _UpdateScrollList ( ) : void
return void
        private void _UpdateScrollList()
        {
            scrollNodeList = new List<TreeNode>();

            int startNode = (int)(scrollIndex / ItemHeight) - 1;
            if (startNode < 0) startNode = 0;
            int nodesOnScreen = Height / ItemHeight + 3; // Magic number.

            for (int i = startNode; i < startNode + nodesOnScreen && i < _nodeList.Count; i++)
            {
                if (_nodeList[i].Bounds.Y + _nodeList[i].Bounds.Height > 0 && _nodeList[i].Bounds.Y - (int)scrollIndex < Height)
                {
                    scrollNodeList.Add(_nodeList[i]);
                }
            }
        }