Example #1
0
        /// <summary>
        /// 设置系统处理消息
        /// </summary>
        /// <param name="type">1:-系统状态条;2-WaitWindow;3-系统状态条(2秒后自动清除)</param>
        /// <param name="message">消息文本,string.Empty清除消息框及状态条</param>
        /// <param name="progress">进度(0-100),-1 隐藏进度条</param>
        protected void SetStatusMessage(int type, string message, int progress)
        {
            //参数
            StatusMessageEventArgs args = new StatusMessageEventArgs();

            args.Type    = type;
            args.Message = message;
            if (progress >= 0 && message != string.Empty)
            {
                args.ShowProgressBar = true;
                args.Progress        = Math.Min(progress, 100);
            }
            else
            {
                args.ShowProgressBar = false;
                args.Progress        = -1;
            }

            //Cursor
            if (type != 3)
            {
                if (message != string.Empty)
                {
                    this.Cursor = Cursors.WaitCursor;
                }
                else
                {
                    this.Cursor = Cursors.Default;
                }
            }

            //Type=2,只出现在WaitWindow
            if (type == 2)
            {
                if (myWaitWindow == null)
                {
                    myWaitWindow = new MyWaitWindow();
                }

                if (message != string.Empty)
                {
                    myWaitWindow.ShowMsg(message, args.ShowProgressBar);
                    myWaitWindow.Progress = args.Progress;
                }
                else
                {
                    myWaitWindow.Dispose();
                    myWaitWindow = null;
                }
            }


            //触发OnStatusMessage事件
            if (this.OnStatusMessage != null)
            {
                this.OnStatusMessage(this, args);
            }
        }
Example #2
0
        /// <summary>
        /// 关闭窗体,清理资源
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BaseForm_FormClosed(object sender, FormClosedEventArgs e)
        {
            if (myWaitWindow != null)
            {
                myWaitWindow.Dispose();
                myWaitWindow = null;
            }

            this.SaveWindowPos();
        }