Index: /stable/HeuristicLab.MainForm.WindowsForms/3.3/MainForms/MainForm.Designer.cs
===================================================================
--- /stable/HeuristicLab.MainForm.WindowsForms/3.3/MainForms/MainForm.Designer.cs	(revision 11874)
+++ /stable/HeuristicLab.MainForm.WindowsForms/3.3/MainForms/MainForm.Designer.cs	(revision 11875)
@@ -87,5 +87,4 @@
       this.ResumeLayout(false);
       this.PerformLayout();
-
     }
 
Index: /stable/HeuristicLab.Optimizer/3.3/OptimizerDockingMainForm.Designer.cs
===================================================================
--- /stable/HeuristicLab.Optimizer/3.3/OptimizerDockingMainForm.Designer.cs	(revision 11874)
+++ /stable/HeuristicLab.Optimizer/3.3/OptimizerDockingMainForm.Designer.cs	(revision 11875)
@@ -58,5 +58,16 @@
       this.ResumeLayout(false);
       this.PerformLayout();
-
+      //
+      // toolStrip
+      //
+      this.toolStrip.AllowDrop = true;
+      this.toolStrip.DragEnter += optimizerMainForm_DragEnter;
+      this.toolStrip.DragDrop += optimizerMainForm_DragDrop;
+      //
+      // menuStrip
+      //
+      this.menuStrip.AllowDrop = true;
+      this.menuStrip.DragEnter += optimizerMainForm_DragEnter;
+      this.menuStrip.DragDrop += optimizerMainForm_DragDrop;
     }
 
Index: /stable/HeuristicLab.Optimizer/3.3/OptimizerDockingMainForm.cs
===================================================================
--- /stable/HeuristicLab.Optimizer/3.3/OptimizerDockingMainForm.cs	(revision 11874)
+++ /stable/HeuristicLab.Optimizer/3.3/OptimizerDockingMainForm.cs	(revision 11875)
@@ -86,5 +86,5 @@
     protected override void OnClosing(CancelEventArgs e) {
       base.OnClosing(e);
-      if (MainFormManager.MainForm.Views.OfType<IContentView>().Any(v=>v.Content is IStorableContent)) {
+      if (MainFormManager.MainForm.Views.OfType<IContentView>().Any(v => v.Content is IStorableContent)) {
         if (MessageBox.Show(this, "Some views are still opened. If their content has not been saved, it will be lost after closing. Do you really want to close HeuristicLab Optimizer?", "Close Optimizer", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.No)
           e.Cancel = true;
@@ -118,4 +118,17 @@
       }
     }
+
+    private void optimizerMainForm_DragEnter(object sender, DragEventArgs e) {
+      // perform type checking to ensure that the data being dragged is of an acceptable type
+      e.Effect = e.Data.GetDataPresent(DataFormats.FileDrop) ? DragDropEffects.Copy : DragDropEffects.None;
+
+    }
+
+    private void optimizerMainForm_DragDrop(object sender, DragEventArgs e) {
+      if (e.Data.GetDataPresent(DataFormats.FileDrop)) {
+        string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
+        FileManager.OpenFiles(files);
+      }
+    }
   }
 }
Index: /stable/HeuristicLab.Optimizer/3.3/OptimizerMultipleDocumentMainForm.Designer.cs
===================================================================
--- /stable/HeuristicLab.Optimizer/3.3/OptimizerMultipleDocumentMainForm.Designer.cs	(revision 11874)
+++ /stable/HeuristicLab.Optimizer/3.3/OptimizerMultipleDocumentMainForm.Designer.cs	(revision 11875)
@@ -58,5 +58,16 @@
       this.ResumeLayout(false);
       this.PerformLayout();
-
+      //
+      // toolStrip
+      //
+      this.toolStrip.AllowDrop = true;
+      this.toolStrip.DragEnter += optimizerMainForm_DragEnter;
+      this.toolStrip.DragDrop += optimizerMainForm_DragDrop;
+      //
+      // menuStrip
+      //
+      this.menuStrip.AllowDrop = true;
+      this.menuStrip.DragEnter += optimizerMainForm_DragEnter;
+      this.menuStrip.DragDrop += optimizerMainForm_DragDrop;
     }
 
Index: /stable/HeuristicLab.Optimizer/3.3/OptimizerMultipleDocumentMainForm.cs
===================================================================
--- /stable/HeuristicLab.Optimizer/3.3/OptimizerMultipleDocumentMainForm.cs	(revision 11874)
+++ /stable/HeuristicLab.Optimizer/3.3/OptimizerMultipleDocumentMainForm.cs	(revision 11875)
@@ -118,4 +118,17 @@
       }
     }
+
+    private void optimizerMainForm_DragEnter(object sender, DragEventArgs e) {
+      // perform type checking to ensure that the data being dragged is of an acceptable type
+      e.Effect = e.Data.GetDataPresent(DataFormats.FileDrop) ? DragDropEffects.Copy : DragDropEffects.None;
+
+    }
+
+    private void optimizerMainForm_DragDrop(object sender, DragEventArgs e) {
+      if (e.Data.GetDataPresent(DataFormats.FileDrop)) {
+        string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
+        FileManager.OpenFiles(files);
+      }
+    }
   }
 }
Index: /stable/HeuristicLab.Optimizer/3.3/OptimizerSingleDocumentMainForm.Designer.cs
===================================================================
--- /stable/HeuristicLab.Optimizer/3.3/OptimizerSingleDocumentMainForm.Designer.cs	(revision 11874)
+++ /stable/HeuristicLab.Optimizer/3.3/OptimizerSingleDocumentMainForm.Designer.cs	(revision 11875)
@@ -58,5 +58,16 @@
       this.ResumeLayout(false);
       this.PerformLayout();
-
+      //
+      // toolStrip
+      //
+      this.toolStrip.AllowDrop = true;
+      this.toolStrip.DragEnter += optimizerMainForm_DragEnter;
+      this.toolStrip.DragDrop += optimizerMainForm_DragDrop;
+      //
+      // menuStrip
+      //
+      this.menuStrip.AllowDrop = true;
+      this.menuStrip.DragEnter += optimizerMainForm_DragEnter;
+      this.menuStrip.DragDrop += optimizerMainForm_DragDrop;
     }
 
Index: /stable/HeuristicLab.Optimizer/3.3/OptimizerSingleDocumentMainForm.cs
===================================================================
--- /stable/HeuristicLab.Optimizer/3.3/OptimizerSingleDocumentMainForm.cs	(revision 11874)
+++ /stable/HeuristicLab.Optimizer/3.3/OptimizerSingleDocumentMainForm.cs	(revision 11875)
@@ -118,4 +118,17 @@
       }
     }
+
+    private void optimizerMainForm_DragEnter(object sender, DragEventArgs e) {
+      // perform type checking to ensure that the data being dragged is of an acceptable type
+      e.Effect = e.Data.GetDataPresent(DataFormats.FileDrop) ? DragDropEffects.Copy : DragDropEffects.None;
+
+    }
+
+    private void optimizerMainForm_DragDrop(object sender, DragEventArgs e) {
+      if (e.Data.GetDataPresent(DataFormats.FileDrop)) {
+        string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
+        FileManager.OpenFiles(files);
+      }
+    }
   }
 }
