public void OnDragStart(dfControl source, dfDragEventArgs args)
    {
        if (this.Count > 0)
        {
            args.Data  = this;
            args.State = dfDragDropState.Dragging;
            args.Use();

            DnDExample_DragCursor.Show(this, args.Position);
        }
    }
    public void OnDragEnd(dfControl source, dfDragEventArgs args)
    {
        DnDExample_DragCursor.Hide();

        if (args.State == dfDragDropState.Dropped)
        {
            this.Count    = 0;
            this.ItemName = "";
            this.Icon     = "";

            Refresh();
        }
    }