private void AddAppViewWindow(ShAppViewWindowControlDefinition appViewWindowControlDefinition) { try { var title = appViewWindowControlDefinition.Title; var type = Type.GetType(appViewWindowControlDefinition.AssemblyQualifiedName); var id = appViewWindowControlDefinition.Id; var control = Activator.CreateInstance(type) as UserControl; control.Dock = DockStyle.Fill; control.Tag = id; var panel = new Panel(); panel.Text = title; //panel.BackColor = Color.White; panel.Dock = DockStyle.Fill; panel.Tag = string.Format("{0}_PanelContainer", id); panel.Controls.Add(control); AppForm.Controls.Add(panel); panel.BringToFront(); // add to top-level view menu } catch (Exception e) { throw; } }
private void AddAppViewWindow(ShAppViewWindowControlDefinition appViewWindowControlDefinition) { try { var tabControl = EnsureMainLayout(); var viewId = appViewWindowControlDefinition.Id; var viewTitle = appViewWindowControlDefinition.Title; var newTabPage = new MetroTabPage(); newTabPage.Text = viewTitle; newTabPage.Tag = appViewWindowControlDefinition; if (!string.IsNullOrEmpty(appViewWindowControlDefinition.AssemblyQualifiedName)) { var viewName = appViewWindowControlDefinition.AssemblyQualifiedName; var viewType = Type.GetType(viewName); if (viewType == null) { throw new ShAppException( string.Format("Cannot find type:[{0}]", viewName)); } var control = Activator.CreateInstance(viewType) as UserControl; if (control == null) { throw new ShAppException( string.Format("Cannot create an instance of the type:[{0}] as UserControl", viewType)); } control.Dock = DockStyle.Fill; control.Tag = viewId; control.BackColor = Color.White; newTabPage.Controls.Add(control); } // MetroUI fix var scrolls = newTabPage.Controls.OfType <MetroScrollBar>().ToArray(); foreach (var scroll in scrolls) { scroll.Visible = false; } tabControl.TabPages.Add(newTabPage); tabControl.SelectedIndex = 0; } catch (Exception e) { throw new ShAppException( string.Format("Error while initialting the view:[{0}] of type:[{1}]", appViewWindowControlDefinition.Title, appViewWindowControlDefinition.AssemblyQualifiedName), e); } }