| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | 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    {        /// <summary>        /// 禁用容器中的子控件        /// </summary>        /// <param name="panel"></param>        /// <param name="ctrls">不禁用的子控件</param>        /// <returns></returns>        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;        }        /// <summary>        /// 启用容器中的子控件        /// </summary>        /// <param name="panel"></param>        /// <returns></returns>        public static PanelControl EnableChild(this PanelControl panel)        {            var ctrl = panel.GetChildControls();            foreach (var item in ctrl)            {                item.Enabled = true;            }            return panel;        }        public static List<Control> GetChildControls(this PanelControl panel)        {            List<Control> list = new List<Control>();            foreach (Control item in panel.Controls)            {                list.Add(item);                list.AddRange(GetChildControls(item));            }            return list;        }        private static List<Control> GetChildControls(Control ctrl)        {            List<Control> list = new List<Control>();            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;        }    }}
 |