/// <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); } }
/// <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(); }