///*************************************************************************/
|
///*
|
///* 文件名 :ButtonList.cs
|
///* 程序说明 : 窗体的按钮列表.
|
///* 原创作者 :孙中吕
|
///*
|
///* Copyright 2006-2021 C/S框架网 www.csframework.com
|
///*
|
///**************************************************************************/
|
|
using System.Collections;
|
|
namespace CSFrameworkV5.Core
|
{
|
/// <summary>
|
/// 显示在主窗体的按钮列表
|
/// </summary>
|
public class ButtonList : IButtonList
|
{
|
private IList _Buttons = new ArrayList();
|
|
/// <summary>
|
/// 添加一个按钮
|
/// </summary>
|
/// <param name="button"></param>
|
public void AddButton(IButtonInfo button)
|
{
|
_Buttons.Add(button);
|
}
|
|
/// <summary>
|
/// 删除按钮
|
/// </summary>
|
/// <param name="p"></param>
|
public void RemoveButton(string buttonName)
|
{
|
var btn = GetButtonByName(buttonName);
|
_Buttons.Remove(btn);
|
}
|
|
/// <summary>
|
/// 删除按钮
|
/// </summary>
|
/// <param name="button"></param>
|
public void RemoveButton(IButtonInfo button)
|
{
|
_Buttons.Remove(button);
|
}
|
|
/// <summary>
|
/// 添加一组按钮
|
/// </summary>
|
/// <param name="buttons">按钮对象数组</param>
|
public void AddRange(IButtonInfo[] buttons)
|
{
|
foreach (var btn in buttons)
|
if (btn != null)
|
_Buttons.Add(btn);
|
}
|
|
/// <summary>
|
/// 添加一组按钮
|
/// </summary>
|
/// <param name="buttons">按钮对象集合</param>
|
public void AddRange(IList buttons)
|
{
|
foreach (IButtonInfo btn in buttons)
|
if (btn != null)
|
_Buttons.Add(btn);
|
}
|
|
/// <summary>
|
/// 跟据名称获取某个按钮
|
/// </summary>
|
/// <param name="name">按钮名称</param>
|
/// <returns></returns>
|
public IButtonInfo GetButtonByName(string name)
|
{
|
foreach (IButtonInfo b in _Buttons)
|
{
|
if (b.Name == name) return b;
|
if (b.SubButtons.Count > 0)
|
foreach (var bb in b.SubButtons)
|
if (bb.Name == name)
|
return bb;
|
}
|
|
return new NullButton();
|
}
|
|
/// <summary>
|
/// 转换为按钮数组
|
/// </summary>
|
/// <returns></returns>
|
public IButtonInfo[] ToArray()
|
{
|
var ret = new IButtonInfo[_Buttons.Count];
|
for (var i = 0; i <= _Buttons.Count - 1; i++)
|
ret[i] = (IButtonInfo)_Buttons[i];
|
return ret;
|
}
|
|
/// <summary>
|
/// 转换为按钮对象集合
|
/// </summary>
|
/// <returns></returns>
|
public IList ToList()
|
{
|
return _Buttons;
|
}
|
}
|
}
|