Exemplo n.º 1
0
        /// <summary>
        /// 把当前窗体加载到 _dicCurrentShowUiForms 中
        /// </summary>
        /// <param name="uiFormName"></param>
        private void LoadUiToCurrentCache(string uiFormName)
        {
            UIFormBase baseUiFormFromAllCache = null;  // 从_DicAllUIForms 中得到窗体基类

            // 把当前窗体,加载到   _dicCurrentShowUiForms    集合中
            _dicAllUiForms.TryGetValue(uiFormName, out baseUiFormFromAllCache);
            if (baseUiFormFromAllCache != null)
            {
                _dicCurrentShowUiForms.Add(uiFormName, baseUiFormFromAllCache);
                baseUiFormFromAllCache.Display();  //显示当前窗体
            }
            else
            {
                Debug.Log(GetType() + "/baseUIFormFromAllCache  =NULL , uiFormName = " + uiFormName);
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// UI窗体入栈
 /// </summary>
 /// <param name="baseUiForm">窗体的名称</param>
 private void PushUiFormToStack(UIFormBase baseUiForm)
 {
     if (baseUiForm == null)
     {
         Debug.Log(GetType() + "/PushUIFormToStack  UIFormBase =NULL");
     }
     else
     {
         // 判断栈集合中,是否已有窗体,有则“冻结”处理
         if (_stackCurrentUiForms.Count > 0)
         {
             UIFormBase topUiForm = _stackCurrentUiForms.Peek();
             topUiForm.Freeze();
         }
         // 把指定的UI窗体,入栈操作
         _stackCurrentUiForms.Push(baseUiForm);
         // 显示窗体
         baseUiForm.Display();
     }
 }
Exemplo n.º 3
0
        /// <summary>
        /// 打来"隐藏其他属性"的窗体,且隐藏其他所有窗体
        /// </summary>
        /// <param name="uiFormName">需要打开的窗体名称</param>
        private void EnterUiFormsAndHideOther(string uiFormName)
        {
            UIFormBase baeUiFormFromAll = null;

            _dicAllUiForms.TryGetValue(uiFormName, out baeUiFormFromAll);
            if (baeUiFormFromAll == null)
            {
                return;
            }
            // 把  _dicCurrentShowUiForms  和  _stackCurrentUiForms 中所有的窗体都隐藏
            foreach (UIFormBase baseuiForm in _dicCurrentShowUiForms.Values)
            {
                baseuiForm.Hiding();
            }
            foreach (UIFormBase uiForm in _stackCurrentUiForms)
            {
                uiForm.Hiding();
            }
            // 加入到  _dicCurrentShowUiForms
            _dicCurrentShowUiForms.Add(uiFormName, baeUiFormFromAll);
            //显示当前窗体
            baeUiFormFromAll.Display();
        }