AGS.Editor.SpriteSelector.spriteList_DragDrop C# (CSharp) Метод

spriteList_DragDrop() приватный Метод

private spriteList_DragDrop ( object sender, DragEventArgs e ) : void
sender object
e DragEventArgs
Результат void
        private void spriteList_DragDrop(object sender, DragEventArgs e)
        {
            SpriteManagerDragDropData dragged = (SpriteManagerDragDropData)e.Data.GetData(typeof(SpriteManagerDragDropData));
            Point locationInControl = spriteList.PointToClient(new Point(e.X, e.Y));
            bool putSpritesBeforeSelection = true;
            ListViewItem nearestItem = spriteList.HitTest(locationInControl).Item;
            if (nearestItem == null)
            {
                putSpritesBeforeSelection = false;
                nearestItem = spriteList.FindNearestItem(SearchDirectionHint.Left, locationInControl);

                if (nearestItem == null)
                {
                    putSpritesBeforeSelection = true;
                    nearestItem = spriteList.FindNearestItem(SearchDirectionHint.Right, locationInControl);
                }
            }
            if (nearestItem != null)
            {
                int nearestSprite = Convert.ToInt32(nearestItem.Text);
                _currentFolder.Sprites = MoveSpritesIntoNewPositionInFolder(nearestSprite, putSpritesBeforeSelection, dragged);
                RefreshSpriteDisplay();
            }
        }