/******************************************************************************* * 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 } }