private void _LoadPanel(Panels PanelToLoad) { // Your switch case stuff here Text = ActivePanel.ToString(); ActivePanel.Left = VerticleSplitter.Left + VerticleSplitter.Width; ActivePanel.Top = tbrStandard.Top + tbrStandard.Height; ActivePanel.PanelType = PanelToLoad; // move this above the LoadPanel Controls.Add(ActivePanel); ActivePanel.LoadPanel(); ActivePanel.ActionOccured += new ActionOccuredEventHandler(ActivePanel_ActionOccured); ActivePanel.DataChanged += new DataChangedEventHandler(ActivePanel_DataChanged); ActivePanel.ButtonClicked += new ProjectButtonClickedEventHandler(ActivePanel_ButtonClicked); _Resize(); }I have no idea if this will make it work, but it's worth a try.
>private void _LoadPanel(Panels PanelToLoad) >{ > if(ActivePanel != null) > { > ActivePanel.Visible = false; > ActivePanel.UnLoadPanel(); > Controls.Remove(ActivePanel); > ActivePanel = null; > } > > switch (PanelToLoad) > { > case Panels.Welcome: > ActivePanel = new pnlWelcome(); > break; > > case Panels.ProjectInfo: > ActivePanel = new pnlProjectInfo(); > break; > > case Panels.Query: > ActivePanel = new pnlQuery(); > break; > > case Panels.QueryResults: > ActivePanel = new pnlQueryResults(); > break; > > case Panels.BOMSelections: > ActivePanel = new pnlBOMSelections(); > break; > > case Panels.Tribal: > ActivePanel = new pnlTribals(); > break; > > case Panels.Prices: > ActivePanel = new pnlPrices(); > break; > > case Panels.Ratios: > ActivePanel = new pnlRatios(); > break; > } > > Text = ActivePanel.ToString(); > > ActivePanel.Left = VerticleSplitter.Left + VerticleSplitter.Width; > ActivePanel.Top = tbrStandard.Top + tbrStandard.Height; > ActivePanel.PanelType = PanelToLoad; > > ActivePanel.LoadPanel(); > > ActivePanel.ActionOccured += new ActionOccuredEventHandler(ActivePanel_ActionOccured); > ActivePanel.DataChanged += new DataChangedEventHandler(ActivePanel_DataChanged); > ActivePanel.ButtonClicked += new ProjectButtonClickedEventHandler(ActivePanel_ButtonClicked); > > Controls.Add(ActivePanel); > > _Resize(); >}>
>public override void LoadPanel() >{ > if (csCOSApp.ActiveProject.ProjectId == 0) > { > lblPageCaption.Text = "Project Information - New Project"; > ItemMode = ProjectItemMode.New; > } > else > { > lblPageCaption.Text = "Project Information - " + csCOSApp.ActiveProject.ProjectNum; > ItemMode = ProjectItemMode.View; > } > > _LoadWarehouseLists(); > > txtCustomerName.Text = csCOSApp.ActiveProject.CustomerName; // Data is correct here > txtCustomerCode.Text = csCOSApp.ActiveProject.CustomerCode; // Data is correct here > lblProjectNum.Text = csCOSApp.ActiveProject.ProjectNum; > lblProjectDate.Text = csCOSApp.ActiveProject.ProjectDT.ToString(); > txtComments.Text = csCOSApp.ActiveProject.Comments; > lblProjectDate.Visible = (csCOSApp.ActiveProject.ProjectId > -1); > lblProjectNum.Visible = (csCOSApp.ActiveProject.ProjectId > -1); > > _SetNextButton(); >} >>