// 关联状态栏 public void statusBarAssociation() { TabPage pp = this; if (pp.Controls.Count > 0) { setSourceControl(pp); void setSourceControl(Control con) { foreach (Control c in con.Controls) { if (c is TextBox || c is DataGridView) { ControlsUtils.TimersMethod(20, 2000, this, (object sender, ElapsedEventArgs e) => { Control ccc = ControlCacheFactory.getSingletonCache(DefaultNameEnum.TOOL_START); if (ccc != null && ccc is RedrawStatusBar) { RedrawStatusBar bar = (RedrawStatusBar)ccc; bar.SetSourceControl(c); ((System.Timers.Timer)sender).Dispose(); } }); } else if (c.Controls.Count > 0) { setSourceControl(c); } } } } }
/// <summary> /// 打开多例模式下的对象 /// </summary> /// <param name="isShowTop">是否显示为顶层窗体</param> /// <returns></returns> public Control initPrototypeExample(bool isShowTop) { RedrawStatusBar conThis = this; conThis.Name = EnumUtils.GetDescription(DefaultNameEnum.TOOL_START) + DateTime.Now.Ticks.ToString();; if (isShowTop) { conThis.BringToFront(); } // 加入到多例工厂 ControlCacheFactory.addPrototypeCache(DefaultNameEnum.TOOL_START, conThis); return(conThis); }
/// <summary> /// 打开单例模式下的对象 /// </summary> /// <param name="isShowTop">是否显示为顶层窗体</param> /// <returns></returns> public Control initSingleExample(bool isShowTop) { RedrawStatusBar conThis = null; Control con = ControlCacheFactory.getSingletonCache(DefaultNameEnum.TOOL_START); if (con == null || !(con is RedrawStatusBar)) { conThis = this; conThis.Name = EnumUtils.GetDescription(DefaultNameEnum.TOOL_START); ControlCacheFactory.addSingletonCache(conThis); } else { conThis = (RedrawStatusBar)con; } if (isShowTop) { conThis.BringToFront(); } return(conThis); }