protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
var mclient = PointToClient(MousePosition);
// Scroll.
Rectangle _scrollRect = new Rectangle(Width - _scrollWidth, _scrollY, _scrollWidth, _scrollHeight);
if (_scrollRect.Contains(mclient))
{
_scroll = true;
_scrollStartY = mclient.Y - _scrollY;
}
else
_scroll = false;
// Drag items.
if (!_scroll)
for (int i = 0; i < _renderList.Count; i++)
{
Rectangle nodeRect = new Rectangle(0, i * NodeHeight, Width - _scrollWidth, NodeHeight);
if (nodeRect.Contains(mclient))
{
_selectedIndex = _renderList[i].Index;
if (!_renderList[i].Node.AllowDrag) break;
_drag = true;
_dragNode = _renderList[i].Node;
_dragPosition = mclient;
break;
}
}
}
protected override void OnMouseHover(EventArgs e)