BEurtle.IssueDetail.DraggableIcon_ItemDrag C# (CSharp) Method

DraggableIcon_ItemDrag() private method

private DraggableIcon_ItemDrag ( object sender, ItemDragEventArgs e ) : void
sender object
e System.Windows.Forms.ItemDragEventArgs
return void
        private void DraggableIcon_ItemDrag(object sender, ItemDragEventArgs e)
        {
            try
            {
                using (var tsf = new TemporarySaveFile(this))
                {
                    DataObject obj = new DataObject();
                    if (DraggableIcon.Items[0].Text.StartsWith("text/"))
                    {
                        string data_ = new StreamReader(tsf.data).ReadToEnd();
                        obj.SetText(data_, DraggableIcon.Items[0].Text == "text/html" ? TextDataFormat.Html : TextDataFormat.UnicodeText);
                    }
                    else if (DraggableIcon.Items[0].Text.StartsWith("image/"))
                    {
                        var data_ = new Bitmap(tsf.data);
                        obj.SetImage(data_);
                    }
                    else
                        obj.SetData(tsf.data);
                    tsf.data.Close();
                    obj.SetData(DataFormats.FileDrop, true, new String[] { tsf.tempfilename });
                    disable_scrolling = true;
                    try
                    {
                        DraggableIcon.DoDragDrop(obj, DragDropEffects.All);
                    }
                    finally
                    {
                        disable_scrolling = false;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, "Error when dragging file: " + ex.ToString(), "Error from BEurtle", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }