233 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			233 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| /*********************************************************************************************
 | |
|  * Copyright 2002 - Volian Enterprises, Inc. All rights reserved.
 | |
|  * Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
 | |
|  * ------------------------------------------------------------------------------
 | |
|  * $Workfile: StatusBarFrm.cs $     $Revision: 3 $
 | |
|  * $Author: Jsj $   $Date: 4/08/04 9:50a $
 | |
|  *
 | |
|  * $History: StatusBarFrm.cs $
 | |
|  * 
 | |
|  * *****************  Version 3  *****************
 | |
|  * User: Jsj          Date: 4/08/04    Time: 9:50a
 | |
|  * Updated in $/LibSource/VlnStatus
 | |
|  * added profile code and try to optimize
 | |
|  * 
 | |
|  * *****************  Version 2  *****************
 | |
|  * User: Jsj          Date: 11/26/02   Time: 3:38p
 | |
|  * Updated in $/LibSource/VlnStatus
 | |
|  * Added overbounds check
 | |
|  *********************************************************************************************/
 | |
| 
 | |
| using System;
 | |
| using System.Drawing;
 | |
| using System.Collections;
 | |
| using System.ComponentModel;
 | |
| using System.Windows.Forms;
 | |
| //using ROProfiler; //don't forget to add VlnProfiler to the reference list
 | |
| 
 | |
| namespace VlnStatus
 | |
| {
 | |
| 	/// <summary>
 | |
| 	/// Create a status window with a progress bar
 | |
| 	/// </summary>
 | |
| 	public class StatusBarFrm : System.Windows.Forms.Form
 | |
| 	{
 | |
| 		private System.Windows.Forms.ProgressBar progressBar1;
 | |
| 		private System.Windows.Forms.Label lblBar;
 | |
| 		private System.Windows.Forms.Label StatMsg;
 | |
| //		private string strLblLast="";
 | |
| 		/// <summary>
 | |
| 		/// Required designer variable.
 | |
| 		/// </summary>
 | |
| 		private System.ComponentModel.Container components = null;
 | |
| 
 | |
| 		public StatusBarFrm()
 | |
| 		{
 | |
| 			//
 | |
| 			// Required for Windows Form Designer support
 | |
| 			//
 | |
| 			InitializeComponent();
 | |
| 
 | |
| 			Text = "Status";
 | |
| 		}
 | |
| 
 | |
| 		public StatusBarFrm(string StatusBoxTitle)
 | |
| 		{
 | |
| 			//
 | |
| 			// Required for Windows Form Designer support
 | |
| 			//
 | |
| 			InitializeComponent();
 | |
| 
 | |
| 			Text = StatusBoxTitle;
 | |
| 		}
 | |
| 
 | |
| 		/// <summary>
 | |
| 		/// Clean up any resources being used.
 | |
| 		/// </summary>
 | |
| 		protected override void Dispose( bool disposing )
 | |
| 		{
 | |
| 			if( disposing )
 | |
| 			{
 | |
| 				if(components != null)
 | |
| 				{
 | |
| 					components.Dispose();
 | |
| 				}
 | |
| 			}
 | |
| 			base.Dispose( disposing );
 | |
| 		}
 | |
| 
 | |
| 		#region Windows Form Designer generated code
 | |
| 		/// <summary>
 | |
| 		/// Required method for Designer support - do not modify
 | |
| 		/// the contents of this method with the code editor.
 | |
| 		/// </summary>
 | |
| 		private void InitializeComponent()
 | |
| 		{
 | |
| 			this.progressBar1 = new System.Windows.Forms.ProgressBar();
 | |
| 			this.lblBar = new System.Windows.Forms.Label();
 | |
| 			this.StatMsg = new System.Windows.Forms.Label();
 | |
| 			this.SuspendLayout();
 | |
| 			// 
 | |
| 			// progressBar1
 | |
| 			// 
 | |
| 			this.progressBar1.Location = new System.Drawing.Point(29, 83);
 | |
| 			this.progressBar1.Name = "progressBar1";
 | |
| 			this.progressBar1.Size = new System.Drawing.Size(297, 27);
 | |
| 			this.progressBar1.TabIndex = 0;
 | |
| 			// 
 | |
| 			// lblBar
 | |
| 			// 
 | |
| 			this.lblBar.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
 | |
| 			this.lblBar.Location = new System.Drawing.Point(29, 136);
 | |
| 			this.lblBar.Name = "lblBar";
 | |
| 			this.lblBar.Size = new System.Drawing.Size(297, 16);
 | |
| 			this.lblBar.TabIndex = 1;
 | |
| 			this.lblBar.Text = "% Complete";
 | |
| 			this.lblBar.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
 | |
| 			// 
 | |
| 			// StatMsg
 | |
| 			// 
 | |
| 			this.StatMsg.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
 | |
| 			this.StatMsg.Location = new System.Drawing.Point(29, 18);
 | |
| 			this.StatMsg.Name = "StatMsg";
 | |
| 			this.StatMsg.Size = new System.Drawing.Size(307, 56);
 | |
| 			this.StatMsg.TabIndex = 2;
 | |
| 			this.StatMsg.Text = "Progress Bar";
 | |
| 			this.StatMsg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
 | |
| 			// 
 | |
| 			// StatusBarFrm
 | |
| 			// 
 | |
| 			this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
 | |
| 			this.ClientSize = new System.Drawing.Size(350, 171);
 | |
| 			this.ControlBox = false;
 | |
| 			this.Controls.Add(this.StatMsg);
 | |
| 			this.Controls.Add(this.lblBar);
 | |
| 			this.Controls.Add(this.progressBar1);
 | |
| 			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
 | |
| 			this.MaximizeBox = false;
 | |
| 			this.MinimizeBox = false;
 | |
| 			this.Name = "StatusBarFrm";
 | |
| 			this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
 | |
| 			this.Text = "Status";
 | |
| 			this.TopMost = true;
 | |
| 			this.Load += new System.EventHandler(this.StatusBarFrm_Load);
 | |
| 			this.ResumeLayout(false);
 | |
| 
 | |
| 		}
 | |
| 		#endregion
 | |
| 
 | |
| 		private void StatusBarFrm_Load(object sender, System.EventArgs e)
 | |
| 		{
 | |
| 		
 | |
| 		}
 | |
| 
 | |
| 		public int Value
 | |
| 		{
 | |
| 			get
 | |
| 			{
 | |
| 				return progressBar1.Value;
 | |
| 			}
 | |
| 			set
 | |
| 			{
 | |
| 				if (value >= progressBar1.Maximum)
 | |
| 					progressBar1.Value = progressBar1.Maximum;
 | |
| 				else
 | |
| 					progressBar1.Value = value;
 | |
| 				UpateLabel();
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		public int Maximum
 | |
| 		{
 | |
| 			get
 | |
| 			{
 | |
| 				return progressBar1.Maximum;
 | |
| 			}
 | |
| 			set
 | |
| 			{
 | |
| 				progressBar1.Maximum = value;
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		public int Step
 | |
| 		{
 | |
| 			get
 | |
| 			{
 | |
| 				return progressBar1.Step;
 | |
| 			}
 | |
| 			set
 | |
| 			{
 | |
| 				progressBar1.Step = value;
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		public void PerformStep()
 | |
| 		{
 | |
| 			progressBar1.PerformStep();
 | |
| 		}
 | |
| 
 | |
| 		private void UpateLabel()
 | |
| 		{
 | |
| 			lblBar.Text = (Math.Round((decimal)(progressBar1.Value * 100) / progressBar1.Maximum)).ToString();
 | |
| 			lblBar.Text += "% Complete";
 | |
| //			if( lblBar.Text != strLblLast)
 | |
| //			{
 | |
| //				Profiler.Start("UpdateLabel");
 | |
| 				lblBar.Refresh();
 | |
| //				lblBar.Update();
 | |
| //				Profiler.End("UpdateLabel");
 | |
| //			}
 | |
| //			strLblLast = lblBar.Text;
 | |
| 		}
 | |
| 
 | |
| 		public string StatusMessage
 | |
| 		{
 | |
| 			get
 | |
| 			{
 | |
| 				return StatMsg.Text;
 | |
| 			}
 | |
| 			set
 | |
| 			{
 | |
| 				StatMsg.Text = value;
 | |
| //				Profiler.Start("StatusMessage");
 | |
| 				StatMsg.Refresh();
 | |
| //				StatMsg.Update();
 | |
| //				Profiler.End("StatusMessage");
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		public string StatusBoxTitle
 | |
| 		{
 | |
| 			get
 | |
| 			{
 | |
| 				return Text;
 | |
| 			}
 | |
| 			set
 | |
| 			{
 | |
| 				Text = value;
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 	}
 | |
| }
 |