/// <summary> /// Handle parent form DragDrop event /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnDragDrop(object sender, System.Windows.Forms.DragEventArgs e) { // When file(s) are dragged from Explorer to the form, IDataObject // contains array of file names. If one file is dragged, // array contains one element. Array a = (Array)e.Data.GetData(DataFormats.FileDrop); if (a != null) { if (FileDroppedEvent != null) { // Raise event asynchronously. // Explorer instance from which file is dropped is not responding // all the time when DragDrop handler is active, so we need to return // immidiately (especially if OpenFiles shows MessageBox). FileDroppedEvent.BeginInvoke(this, new FileDroppedEventArgs(a), null, null); frmOwner.Activate(); // in the case Explorer overlaps parent form } } // NOTE: exception handling is not used here. // Caller responsibility is to handle exceptions // in the function invoked by FileDroppedEvent. }
private void OnDragDrop(object sender, System.Windows.Forms.DragEventArgs e) { Array a = (Array)e.Data.GetData(DataFormats.FileDrop); if (a != null) { if (FileDroppedEvent != null) { FileDroppedEvent.BeginInvoke(this, new FileDroppedEventArgs(a), null, null); frmOwner.Activate(); } } }