private void ViewManagerViewChange(object sender, ViewChangeEventArgs e) { switch (e.Status) { case ViewChangeStatus.Change: // Show waiting dialog this.Enabled = false; this.toolStripStatus.Text = "Loading ..."; this.toolStripProgressBar.Visible = true; this.toolStripProgressBar.Style = ProgressBarStyle.Continuous; this.toolStripProgressBar.Maximum = 100; this.toolStripProgressBar.Minimum = 0; this.toolStripProgressBar.Value = 30; this.Update(); break; case ViewChangeStatus.Changing: if (!e.IsInDialogMode) { // Attach UI to the view // this.pnlMainPanel.Controls.Clear(); // pnlMainPanel.Controls.Add(this.ViewManager.CurrentView.UI); // this.Text = this.ViewManager.CurrentView.Name; // this.ViewManager.CurrentView.UI.Dock = DockStyle.Fill; this.Update(); this.toolStripProgressBar.Value = 80; } else { // TODO Attach screen when it's needed to show in dialog var viewDialog = new ViewDialog(); // viewDialog.AttachToView(this.ViewManager.CurrentView); viewDialog.Closed += new EventHandler(ViewDialogClosed); viewDialog.ShowDialog(this); } break; case ViewChangeStatus.Changed: // Close waiting dialog this.toolStripProgressBar.Value = 100; this.Update(); this.toolStripStatus.Text = "Ready"; this.Enabled = true; this.toolStripProgressBar.Visible = false; break; default: break; } }