private void pasteToolStripMenuItem_Click( object sender, EventArgs e )
{
if ( Clipboard.ContainsFileDropList ( ) ) {
StringCollection files = Clipboard.GetFileDropList ( );
List<System.IO.FileInfo> lfiles = new List<System.IO.FileInfo> ( );
foreach ( var item in files ) {
System.IO.FileInfo file = new System.IO.FileInfo ( item );
if ( file.Exists ) {
lfiles.Add ( file );
}
}
var transfer = new TransferDialog ( );
transfer.TransferComplete += delegate ( object s, EventArgs ea ) {
if ( this.InvokeRequired ) {
this.Invoke ( new NavigateToPathDelegate ( this.NavigateToPath ), new object[] { this.CurrentDirectory } );
} else {
this.NavigateToPath ( this.CurrentDirectory );
}
};
transfer.TransferError += delegate ( object s, EventArgs ea ) {
if ( transfer.TransferException != null ) {
if ( this.InvokeRequired ) {
this.Invoke ( new MessageBoxDelegate ( TaskDialog.MessageBox ), new object[] { "Paste error", transfer.TransferException.Message, string.Empty, TaskDialogButtons.OK, SysIcons.Error } );
} else {
TaskDialog.MessageBox ( "Paste error", transfer.TransferException.Message, string.Empty, TaskDialogButtons.OK, SysIcons.Error );
}
}
};
transfer.Push ( lfiles, this.CurrentDirectory.FullName );
}
}