public void OnProgressChange(object sender, GCDConsoleLib.OpStatus progress) { bool bShow = progress.State != GCDConsoleLib.OpStatus.States.Complete; tssProgress.Visible = bShow; tspProgress.Visible = bShow; if (tssProgress.Text != progress.Message) { tssProgress.Text = progress.Message; } tspProgress.Value = progress.Progress; statusStrip1.Refresh(); using (Graphics gr = tspProgress.ProgressBar.CreateGraphics()) { string theString = progress.Progress.ToString() + "%"; float top = tspProgress.Height / 2 - (gr.MeasureString(theString, SystemFonts.DefaultFont).Height / 2.0F); float left = tspProgress.Width / 2 - (gr.MeasureString(theString, SystemFonts.DefaultFont).Width / 2.0F); PointF thePoint = new PointF(left, top); gr.DrawString(theString, SystemFonts.DefaultFont, Brushes.Black, thePoint); } }
private void OnProgressChange(object sender, GCDConsoleLib.OpStatus opStatus) { switch (opStatus.State) { case GCDConsoleLib.OpStatus.States.Initialized: ArcMap.Application.StatusBar.ShowProgressBar(opStatus.Message, 0, 100, 1, true); break; case GCDConsoleLib.OpStatus.States.Started: ArcMap.Application.StatusBar.ProgressBar.Position = opStatus.Progress; break; default: ArcMap.Application.StatusBar.HideProgressBar(); break; } }