using DevExpress.CodeParser; using DevExpress.Utils; using DevExpress.XtraEditors; using DevExpress.XtraEditors.Controls; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Ips.Library.Basic; using DevExpress.Utils.Url; namespace Ips.Library.DxpLib { public static class PanelExtensions { /// /// 禁用容器中的子控件 /// /// /// 不禁用的子控件 /// public static PanelControl DisabledChildWithout(this PanelControl panel, params Control[] ctrls) { var ctrl = panel.GetChildControls(); foreach (var item in ctrl) { if (ctrls == null || !ctrls.Contains(item)) item.Enabled = false; } return panel; } /// /// 启用容器中的子控件 /// /// /// public static PanelControl EnableChild(this PanelControl panel) { var ctrl = panel.GetChildControls(); foreach (var item in ctrl) { item.Enabled = true; } return panel; } public static List GetChildControls(this PanelControl panel) { List list = new List(); foreach (Control item in panel.Controls) { list.Add(item); list.AddRange(GetChildControls(item)); } return list; } private static List GetChildControls(Control ctrl) { List list = new List(); if (ctrl.Controls == null || ctrl.Controls.Count == 0) return list; foreach (Control item in ctrl.Controls) { list.Add(item); list.AddRange(GetChildControls(item)); } return list; } } }