private DockPanel GetDockPanel(DockPanelContainer dockPanelContainer)//递归 获取DockPanel { if (dockPanelContainer == null) { return(null); } // if (dockPanelContainer.Panel1.Controls.Count > 0) { DockPanel dockPanel = dockPanelContainer.Panel1.Controls[0] as DockPanel; if (dockPanel != null) { return(dockPanel); } else { return(this.GetDockPanel(dockPanelContainer.Panel1.Controls[0] as DockPanelContainer)); } } if (dockPanelContainer.Panel2.Controls.Count > 0) { DockPanel dockPanel = dockPanelContainer.Panel2.Controls[0] as DockPanel; if (dockPanel != null) { return(dockPanel); } else { return(this.GetDockPanel(dockPanelContainer.Panel2.Controls[0] as DockPanelContainer)); } } // return(null); }
private void GetDockPanels(DockPanelContainer dockPanelContainer, List <DockPanel> dockPanelCol)//递归 获取DockPanels { if (dockPanelContainer == null) { return; } // if (dockPanelContainer.Panel1.Controls.Count > 0) { DockPanel dockPanel = dockPanelContainer.Panel1.Controls[0] as DockPanel; if (dockPanel != null) { dockPanelCol.Add(dockPanel); } else { this.GetDockPanels(dockPanelContainer.Panel1.Controls[0] as DockPanelContainer, dockPanelCol); } } if (dockPanelContainer.Panel2.Controls.Count > 0) { DockPanel dockPanel = dockPanelContainer.Panel2.Controls[0] as DockPanel; if (dockPanel != null) { dockPanelCol.Add(dockPanel); } else { this.GetDockPanels(dockPanelContainer.Panel2.Controls[0] as DockPanelContainer, dockPanelCol); } } }
private void SetPanelNodeState(IDockPanel pDockPanel, PanelNodeState panelNodeState)//设置其所辖的面板节点状态并激发相应事件(将在两个Show(...)和OnFormClosing(...)函数中被调用) { if (pDockPanel == null) { return; } // switch (panelNodeState) { case PanelNodeState.eShow: switch (pDockPanel.eDockPanelStyle) { case DockPanelStyle.eDockPanel: DockPanel dockPanel = pDockPanel as DockPanel; if (dockPanel != null) { ((ISetPanelNodeStateHelper)dockPanel).SetPanelNodeState(PanelNodeState.eShow); } break; case DockPanelStyle.eDockPanelContainer: DockPanelContainer dockPanelContainer = pDockPanel as DockPanelContainer; if (dockPanelContainer != null) { ((ISetPanelNodeStateHelper)dockPanelContainer).SetPanelNodeState(PanelNodeState.eShow); } break; default: break; } break; case PanelNodeState.eClose: switch (pDockPanel.eDockPanelStyle) { case DockPanelStyle.eDockPanel: DockPanel dockPanel = pDockPanel as DockPanel; if (dockPanel != null) { ((ISetPanelNodeStateHelper)dockPanel).SetPanelNodeState(PanelNodeState.eClose); } break; case DockPanelStyle.eDockPanelContainer: DockPanelContainer dockPanelContainer = pDockPanel as DockPanelContainer; if (dockPanelContainer != null) { ((ISetPanelNodeStateHelper)dockPanelContainer).SetPanelNodeState(PanelNodeState.eClose); } break; default: break; } break; } }
internal RoleComponent(Role role) { LastChildFill = false; Role = role; // TODO: not optimized yet UsersWithRole = Inventory.UsersInCurrentServer.Where(u => u.ServerUsers.Any(su => su.RoleId == role.RoleId)).ToList(); Container = new DockPanelContainer(Role, UsersWithRole); SetDock(Container, Dock.Top); Children.Add(Container); }
public override void Initialize(IComponent component) { base.Initialize(component); // this.m_DockPanelContainer = base.Component as DockPanelContainer; if (this.m_DockPanelContainer == null) { this.DisplayError(new ArgumentException("DockPanelContainer == null")); return; } }