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;
- }
- }
- }
|