private void OnInsertFileItemClick(object sender, ItemClickEventArgs e)
 {
     using (var openFileDialog = new OpenFileDialog())
     {
         openFileDialog.Title            = "Inser Image or Video file";
         openFileDialog.DefaultExt       = "*.png;*.bmp;*.jpg;*.jpeg;*.mp4;*.avi;*.wmv";
         openFileDialog.Filter           = "Image or Video files|*.png;*.bmp;*.jpg;*.jpeg;*.mp4;*.avi;*.wmv";
         openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
         if (openFileDialog.ShowDialog() == DialogResult.OK)
         {
             var           filePath      = openFileDialog.FileName;
             ClipartObject clipartObject = null;
             if (FileFormatHelper.IsImageFile(filePath))
             {
                 clipartObject = ImageClipartObject.FromFile(filePath);
             }
             else if (FileFormatHelper.IsVideoFile(filePath))
             {
                 clipartObject = GenererateVideoClipart(filePath);
             }
             if (clipartObject != null)
             {
                 LoadData(clipartObject);
                 EditValueChanged?.Invoke(sender, e);
             }
         }
     }
 }
        private void OnImageDragDrop(object sender, DragEventArgs e)
        {
            if (e.Data != null && e.Data.GetDataPresent(DataFormats.FileDrop, true) &&
                e.Data.GetData(DataFormats.FileDrop, true) is String[])
            {
                var filePath = (e.Data.GetData(DataFormats.FileDrop) as String[] ?? new string[] { }).FirstOrDefault();
                if (filePath == null)
                {
                    return;
                }

                ClipartObject clipartObject = null;
                if (FileFormatHelper.IsImageFile(filePath))
                {
                    clipartObject = ImageClipartObject.FromFile(filePath);
                }
                else if (FileFormatHelper.IsVideoFile(filePath))
                {
                    clipartObject = GenererateVideoClipart(filePath);
                }
                if (clipartObject != null)
                {
                    LoadData(clipartObject);
                    EditValueChanged?.Invoke(sender, e);
                }
            }
        }