private void AfterSelect(TreeNode node) { if (!LockEdition && m_controleEdition != null) { m_controleEdition.MajChamps(); m_nodeEdite.Text = ((CFolderConsultationHierarchique)m_nodeEdite.Tag).Libelle; } if (m_controleEdition != null) { ((Control)m_controleEdition).Visible = false; } m_controleEdition = null; m_nodeEdite = null; if (node != null) { CFolderConsultationHierarchique folder = node.Tag as CFolderConsultationHierarchique; if (folder != null) { Type tpFolder = folder.GetType(); IPanelEditionFolderConsultation panelEdition = null; if (!m_dicoControles.TryGetValue(tpFolder, out panelEdition)) { Type tpEditeur = null; if (m_dicTypeToTypeEditeur.TryGetValue(tpFolder, out tpEditeur)) { panelEdition = Activator.CreateInstance(tpEditeur) as IPanelEditionFolderConsultation; if (panelEdition != null) { Control ctrl = panelEdition as Control; ctrl.Parent = m_panelEdition; m_panelEdition.Controls.Add(ctrl); ctrl.Dock = DockStyle.Fill; m_dicoControles[tpFolder] = panelEdition; } } } if (panelEdition != null) { ((Control)panelEdition).Visible = true; panelEdition.InitChamps(folder); ((IControlALockEdition)panelEdition).LockEdition = !m_extModeEdition.ModeEdition; } m_controleEdition = panelEdition; m_nodeEdite = node; } } }