Index: trunk/sources/HeuristicLab.MainForm.WindowsForms/3.3/MainForms/DockForm.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm.WindowsForms/3.3/MainForms/DockForm.Designer.cs	(revision 13450)
+++ trunk/sources/HeuristicLab.MainForm.WindowsForms/3.3/MainForms/DockForm.Designer.cs	(revision 13458)
@@ -34,13 +34,21 @@
     /// </summary>
     private void InitializeComponent() {
+      this.components = new System.ComponentModel.Container();
       System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DockForm));
       this.viewPanel = new System.Windows.Forms.Panel();
+      this.contextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
+      this.closeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+      this.closeAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+      this.closeAllButThisToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+      this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+      this.cloneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+      this.contextMenuStrip.SuspendLayout();
       this.SuspendLayout();
       // 
       // viewPanel
       // 
-      this.viewPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-                  | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.viewPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
       this.viewPanel.Location = new System.Drawing.Point(12, 12);
       this.viewPanel.Name = "viewPanel";
@@ -48,7 +56,50 @@
       this.viewPanel.TabIndex = 0;
       // 
+      // contextMenuStrip
+      // 
+      this.contextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.closeToolStripMenuItem,
+            this.closeAllToolStripMenuItem,
+            this.closeAllButThisToolStripMenuItem,
+            this.toolStripSeparator1,
+            this.cloneToolStripMenuItem});
+      this.contextMenuStrip.Name = "contextMenuStrip";
+      this.contextMenuStrip.Size = new System.Drawing.Size(167, 120);
+      // 
+      // closeToolStripMenuItem
+      // 
+      this.closeToolStripMenuItem.Name = "closeToolStripMenuItem";
+      this.closeToolStripMenuItem.Size = new System.Drawing.Size(166, 22);
+      this.closeToolStripMenuItem.Text = "Close";
+      this.closeToolStripMenuItem.Click += new System.EventHandler(this.closeToolStripMenuItem_Click);
+      // 
+      // closeAllToolStripMenuItem
+      // 
+      this.closeAllToolStripMenuItem.Name = "closeAllToolStripMenuItem";
+      this.closeAllToolStripMenuItem.Size = new System.Drawing.Size(166, 22);
+      this.closeAllToolStripMenuItem.Text = "Close All";
+      this.closeAllToolStripMenuItem.Click += new System.EventHandler(this.closeAllToolStripMenuItem_Click);
+      // 
+      // closeAllButThisToolStripMenuItem
+      // 
+      this.closeAllButThisToolStripMenuItem.Name = "closeAllButThisToolStripMenuItem";
+      this.closeAllButThisToolStripMenuItem.Size = new System.Drawing.Size(166, 22);
+      this.closeAllButThisToolStripMenuItem.Text = "Close All But This";
+      this.closeAllButThisToolStripMenuItem.Click += new System.EventHandler(this.closeAllButThisToolStripMenuItem_Click);
+      // 
+      // toolStripSeparator1
+      // 
+      this.toolStripSeparator1.Name = "toolStripSeparator1";
+      this.toolStripSeparator1.Size = new System.Drawing.Size(163, 6);
+      // 
+      // cloneToolStripMenuItem
+      // 
+      this.cloneToolStripMenuItem.Name = "cloneToolStripMenuItem";
+      this.cloneToolStripMenuItem.Size = new System.Drawing.Size(166, 22);
+      this.cloneToolStripMenuItem.Text = "Create Copy";
+      this.cloneToolStripMenuItem.Click += new System.EventHandler(this.cloneToolStripMenuItem_Click);
+      // 
       // DockForm
       // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
       this.ClientSize = new System.Drawing.Size(632, 446);
@@ -59,5 +110,8 @@
       this.ShowInTaskbar = false;
       this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+      this.TabPageContextMenuStrip = this.contextMenuStrip;
+      this.contextMenuStrip.ResumeLayout(false);
       this.ResumeLayout(false);
+
     }
 
@@ -65,4 +119,10 @@
 
     private System.Windows.Forms.Panel viewPanel;
+    private System.Windows.Forms.ContextMenuStrip contextMenuStrip;
+    private System.Windows.Forms.ToolStripMenuItem closeToolStripMenuItem;
+    private System.Windows.Forms.ToolStripMenuItem closeAllToolStripMenuItem;
+    private System.Windows.Forms.ToolStripMenuItem closeAllButThisToolStripMenuItem;
+    private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
+    private System.Windows.Forms.ToolStripMenuItem cloneToolStripMenuItem;
   }
 }
Index: trunk/sources/HeuristicLab.MainForm.WindowsForms/3.3/MainForms/DockForm.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm.WindowsForms/3.3/MainForms/DockForm.cs	(revision 13450)
+++ trunk/sources/HeuristicLab.MainForm.WindowsForms/3.3/MainForms/DockForm.cs	(revision 13458)
@@ -21,5 +21,8 @@
 
 using System;
+using System.Collections.Generic;
+using System.Linq;
 using System.Windows.Forms;
+using HeuristicLab.Common;
 using WeifenLuo.WinFormsUI.Docking;
 
@@ -111,4 +114,39 @@
     }
     #endregion
+
+    #region Context Menu Events
+    private void closeToolStripMenuItem_Click(object sender, EventArgs e) {
+      Close();
+    }
+    private void closeAllToolStripMenuItem_Click(object sender, EventArgs e) {
+      foreach (var dockForm in CurrentDockForms.ToList()) {
+        dockForm.Close();
+      }
+    }
+    private void closeAllButThisToolStripMenuItem_Click(object sender, EventArgs e) {
+      foreach (var dockForm in CurrentDockForms.Except(this.ToEnumerable()).ToList()) {
+        dockForm.Close();
+      }
+    }
+    private IEnumerable<DockForm> CurrentDockForms {
+      get {
+        return DockPanel.ActivePane.IsActiveDocumentPane
+            ? DockPanel.Documents.OfType<DockForm>()
+            : DockPanel.ActivePane.Contents.OfType<DockForm>();
+        // ActivePane.Contents contains all dockforms if ActivePane is the main DocumentPane
+      }
+    }
+
+    private void cloneToolStripMenuItem_Click(object sender, EventArgs e) {
+      var contentView = View as IContentView;
+      if (contentView == null) return;
+
+      var cloneable = contentView.Content as IDeepCloneable;
+      if (cloneable == null) return;
+
+      var clone = (IContent)cloneable.Clone();
+      MainFormManager.MainForm.ShowContent(clone);
+    }
+    #endregion
   }
 }
