private void MessageHookClipboardDataAdded(ClipboardItem clipboardData)
        {
            var thumbnail = clipboardData.CreateNewVisualThumbnail();
            _selectedThumbnail = thumbnail;

            _thumbnails.Insert(0, thumbnail);

            thumbnail.Show();
            thumbnail.ThumbnailActivated += thumbnail_ThumbnailActivated;
            thumbnail.ThumbnailClosed += thumbnail_ThumbnailClosed;
        }
        private void MessageHookClipboardDataSelected(int index)
        {
            if (index > -1 && index < _thumbnails.Count)
            {
                var thumbnail = _thumbnails[index];
                SelectedThumbnail = thumbnail;

                if (index > 0)
                {
                    var firstThumbnail = _thumbnails[0];
                    thumbnail.MoveThumbnail(firstThumbnail.ThumbnailHandle);
                }
            }
        }
 void thumbnail_ThumbnailClosed(ClipboardThumbnailItem sender)
 {
     if (_thumbnails.Contains(sender))
     {
         var index = _thumbnails.IndexOf(sender);
         _messageHook.RemoveClipboardData(index);
     }
 }
 void thumbnail_ThumbnailActivated(ClipboardThumbnailItem sender)
 {
     var index = _thumbnails.IndexOf(sender);
     if (index > -1)
     {
         _messageHook.SelectedClipboardItemIndex = index;
         _messageHook.SwapClipboardItemPositions(index, 0);
     }
 }