/*******************************************************************************
* Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
* 类的信息:
* 1.程序名称:DKToolStrip.cs
* 2.功能描述:扩展的工具栏控件:便于修改背景颜色及字体、颜色
* 编辑履历:
* 作者 日期 版本 修改内容
* 陈晓野 2014/08/13 1.00 新建
*******************************************************************************/
using System.Collections.Generic;
using System.Windows.Forms;
namespace Dongke.IBOSS.PRD.Basics.BaseControls
{
///
/// 扩展的工具栏控件
///
public abstract partial class DKToolStrip : ToolStrip, IDKControl
{
#region 成员变量
// 异步处理开始时,控件状态
private Dictionary _beginAsyncStatus;
#endregion
#region 控件构造函数
public DKToolStrip()
{
InitializeComponent();
this.Font = ControlsConst.FONT_SYSTEM_DEFAULT;
}
#endregion
#region 控件属性
#endregion
#region 公有方法
///
/// 异步处理开始
///
public void BeginAsync()
{
if (_beginAsyncStatus == null)
{
_beginAsyncStatus = new Dictionary();
}
foreach (ToolStripItem item in this.Items)
{
if (item is ToolStripSeparator
|| item is ToolStripLabel
|| item is ToolStripProgressBar
)
{
}
else if (item is ToolStripTextBox)
{
ToolStripTextBox tst = (item as ToolStripTextBox);
_beginAsyncStatus.Add(tst, tst.ReadOnly);
tst.ReadOnly = true;
}
else
{
_beginAsyncStatus.Add(item, item.Enabled);
item.Enabled = false;
}
}
}
///
/// 异步处理结束
///
public void EndAsync()
{
foreach (ToolStripItem item in _beginAsyncStatus.Keys)
{
if (item is ToolStripSeparator
|| item is ToolStripLabel
|| item is ToolStripProgressBar
)
{
}
else if (item is ToolStripTextBox)
{
ToolStripTextBox tst = (item as ToolStripTextBox);
tst.ReadOnly = _beginAsyncStatus[item];
}
else
{
item.Enabled = _beginAsyncStatus[item];
}
}
_beginAsyncStatus.Clear();
}
#endregion
}
}