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