public virtual void TreeMouseDown(MouseEventArgs e) { _hitInfo = null; var hitInfo = _treeView.CalcHitInfo(new Point(e.X, e.Y)); if (hitInfo == null) { return; } if (hitInfo.Node == null) { return; } if (!_presenter.CanDrag(nodeFrom(hitInfo.Node))) { return; } _hitInfo = hitInfo; }