private void tabControlClient_SelectedIndexChanged(object sender, EventArgs e) { TabPageTag tpt = (TabPageTag)tabControlClient.SelectedTab.Tag; if (tpt != null) { if (tpt.InnerControl == null) { try { IFunctionTestControlCreator creator = (IFunctionTestControlCreator)tpt.ControlDesp.CreateInstance(); Control ctrl = creator.CreateControl(serviceMain.args); ctrl.Parent = tabControlClient.SelectedTab; ctrl.Dock = DockStyle.Fill; tpt.InnerControl = ctrl; } catch (Exception ex) { this.serviceMain.ServiceContainer.Log.Write(ex, ServiceLogEventID.SERVICEMAIN_CREATECONTROL); } } } }
private void addPage(string label, Form frm, TabPageTag tag, bool useAsCurrentPage = false) { var page = new TabPage(label); page.Tag = tag; page.AutoScroll = true; page.Embed(frm); instances.TabPages.Add(page); if (useAsCurrentPage) { instances.SelectedTab = page; } }
private void CloseAllInnerControls(FormClosingEventArgs e) { foreach (TabPage tabPage in this.tabControlClient.TabPages) { if (tabPage.Tag is TabPageTag) { TabPageTag tpt = (TabPageTag)tabPage.Tag; if (tpt.InnerControl != null && tpt.InnerControl is IFunctionTestControl) { ((IFunctionTestControl)tpt.InnerControl).OnClosing(e); } } } }