Index: branches/1614_GeneralizedQAP/HeuristicLab.Optimization.Views/3.3/IOptimizerView.Designer.cs
===================================================================
--- branches/1614_GeneralizedQAP/HeuristicLab.Optimization.Views/3.3/IOptimizerView.Designer.cs	(revision 15719)
+++ branches/1614_GeneralizedQAP/HeuristicLab.Optimization.Views/3.3/IOptimizerView.Designer.cs	(revision 15721)
@@ -45,5 +45,4 @@
     /// </summary>
     private void InitializeComponent() {
-      this.components = new System.ComponentModel.Container();
       System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(IOptimizerView));
       this.startButton = new System.Windows.Forms.Button();
@@ -53,5 +52,4 @@
       this.stopButton = new System.Windows.Forms.Button();
       this.resetButton = new System.Windows.Forms.Button();
-      this.executionTimer = new System.Windows.Forms.Timer(this.components);
       ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
       this.SuspendLayout();
@@ -134,9 +132,4 @@
       this.resetButton.Click += new System.EventHandler(this.resetButton_Click);
       // 
-      // executionTimer
-      // 
-      this.executionTimer.Interval = 200;
-      this.executionTimer.Tick += new System.EventHandler(this.executionTimer_Tick);
-      //
       // IOptimizerView
       // 
@@ -173,5 +166,4 @@
     protected System.Windows.Forms.Button pauseButton;
     protected System.Windows.Forms.Button stopButton;
-    protected System.Windows.Forms.Timer executionTimer;
     protected System.Windows.Forms.Button resetButton;
 
Index: branches/1614_GeneralizedQAP/HeuristicLab.Optimization.Views/3.3/IOptimizerView.cs
===================================================================
--- branches/1614_GeneralizedQAP/HeuristicLab.Optimization.Views/3.3/IOptimizerView.cs	(revision 15719)
+++ branches/1614_GeneralizedQAP/HeuristicLab.Optimization.Views/3.3/IOptimizerView.cs	(revision 15721)
@@ -44,4 +44,5 @@
       Content.ExceptionOccurred -= new EventHandler<EventArgs<Exception>>(Content_ExceptionOccurred);
       Content.ExecutionStateChanged -= new EventHandler(Content_ExecutionStateChanged);
+      Content.ExecutionTimeChanged -= new EventHandler(Content_ExecutionTimeChanged);
       Content.Prepared -= new EventHandler(Content_Prepared);
       Content.Started -= new EventHandler(Content_Started);
@@ -54,4 +55,5 @@
       Content.ExceptionOccurred += new EventHandler<EventArgs<Exception>>(Content_ExceptionOccurred);
       Content.ExecutionStateChanged += new EventHandler(Content_ExecutionStateChanged);
+      Content.ExecutionTimeChanged += new EventHandler(Content_ExecutionTimeChanged);
       Content.Prepared += new EventHandler(Content_Prepared);
       Content.Started += new EventHandler(Content_Started);
@@ -62,8 +64,10 @@
     protected override void OnContentChanged() {
       base.OnContentChanged();
-      if (Content != null) {
+      if (Content == null) {
+        executionTimeTextBox.Text = "-";
+      } else {
         Locked = ReadOnly = Content.ExecutionState == ExecutionState.Started;
+        executionTimeTextBox.Text = Content.ExecutionTime.ToString();
       }
-      UpdateExecutionTime();
     }
 
@@ -86,5 +90,4 @@
       else {
         nameTextBox.Enabled = infoLabel.Enabled = true;
-        UpdateExecutionTime();
         ReadOnly = Locked = false;
         SetEnabledStateOfExecutableButtons();
@@ -95,5 +98,4 @@
         Invoke(new EventHandler(Content_Started), sender, e);
       else {
-        executionTimer.Start();
         nameTextBox.Enabled = infoLabel.Enabled = false;
         ReadOnly = Locked = true;
@@ -105,6 +107,4 @@
         Invoke(new EventHandler(Content_Paused), sender, e);
       else {
-        executionTimer.Stop();
-        UpdateExecutionTime();
         nameTextBox.Enabled = infoLabel.Enabled = true;
         ReadOnly = Locked = false;
@@ -116,6 +116,4 @@
         Invoke(new EventHandler(Content_Stopped), sender, e);
       else {
-        executionTimer.Stop();
-        UpdateExecutionTime();
         nameTextBox.Enabled = infoLabel.Enabled = true;
         ReadOnly = Locked = false;
@@ -123,12 +121,15 @@
       }
     }
+    protected virtual void Content_ExecutionTimeChanged(object sender, EventArgs e) {
+      if (InvokeRequired)
+        Invoke(new EventHandler(Content_ExecutionTimeChanged), sender, e);
+      else
+        executionTimeTextBox.Text = Content == null ? "-" : Content.ExecutionTime.ToString();
+    }
     protected virtual void Content_ExceptionOccurred(object sender, EventArgs<Exception> e) {
       if (InvokeRequired)
         Invoke(new EventHandler<EventArgs<Exception>>(Content_ExceptionOccurred), sender, e);
-      else {
-        executionTimer.Stop();
-        UpdateExecutionTime();
+      else
         ErrorHandling.ShowErrorDialog(this, e.Value);
-      }
     }
     #endregion
@@ -146,11 +147,4 @@
     protected virtual void resetButton_Click(object sender, EventArgs e) {
       Content.Prepare(false);
-    }
-    private void executionTimer_Tick(object sender, EventArgs e) {
-      UpdateExecutionTime();
-    }
-
-    private void UpdateExecutionTime() {
-      executionTimeTextBox.Text = (Content == null ? "-" : Content.ExecutionTime.ToString());
     }
     #endregion
