<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ArcMap threading form with progress bar in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcmap-threading-form-with-progress-bar/m-p/23040#M590</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have found the IMouseCursor to behave strangely so tend to avoid it. I think each time your code calls external methods then you need to call .SetCursor() again.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Have you looked into using IProgressDialog? You can use it with a step progressor bar if you know how many iterations the process will take. If you don't know then hide the step progressor as shown below:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //CREATE OBJECT TO ALLOW USER TO CANCEL
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ITrackCancel trackCancel = new CancelTrackerClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; trackCancel.CancelOnClick = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; trackCancel.CancelOnKeyPress = true;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //CREATE A PROGRESS DIALOG
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IProgressDialogFactory progDialogFact = new ProgressDialogFactoryClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IStepProgressor stepProg = progDialogFact.Create(trackCancel, Handle.ToInt32());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IProgressDialog2 progDialog = (IProgressDialog2)stepProg;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; progDialog.CancelEnabled = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; progDialog.Description = "Querying database...";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; progDialog.Title = "Progress Dialog Title Here";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; progDialog.Animation = esriProgressAnimationTypes.esriProgressGlobe;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stepProg.Message = "Click below to Cancel...";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stepProg.Hide();&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Don't forget to close the dialog in your Finally block:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;progDialog.HideDialog();&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This progess dialog will not be embeded in your form but pop up in front. However, I have found it to be the most reliable way to show the user that lengthy background processes are occuring.&amp;nbsp; For shorter processes where a WinForm remains open you may just want to set the Windows cursor to a wait one.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 10 Dec 2021 20:56:37 GMT</pubDate>
    <dc:creator>RichWawrzonek</dc:creator>
    <dc:date>2021-12-10T20:56:37Z</dc:date>
    <item>
      <title>ArcMap threading form with progress bar</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcmap-threading-form-with-progress-bar/m-p/23039#M589</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi everyone,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've been fighting with this problem for almost a week now and I am no closer to a solution than when I started so I am hoping someone has some ideas for me. I've read LOTS of ESRI documentation as well as lots of forums post asking similar things but no concrete solutions.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have a form where the user enters a number to search for into an input box. When the user clicks the OK button, the search code runs. The problem is that the search code takes several minutes to complete and I want to give the user some indication that the code is running and not locked up. I've tried to set the MouseCursor to hourglass but it's not consistent for some reason, sometimes the hourglass stays on for the entire search like I want it to do and sometimes it does not.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So, I have added a progress bar to my menu below in the input box and set it's ProgressBarStyle to Marquee. I can turn the progress bar on (visible = true) and it updates once but after that, the bar does not move anymore and the progress bar goes away (visible = false) when the search is done.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;WAY&lt;/STRONG&gt;&lt;SPAN&gt; back in the AML days, I could display a "please wait" form on top of the search form in a separate thread until the search was over and then get rid of the thread. Trying to do the same here except figured I would get fancier and put the progress bar on the main form instead of opening another form. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've read some ESRI documents that at times seems to indicate this is not doable but I am not sure. Can someone help me out with some sample code or at least give me a yes or no on whether what I am trying to do is even possible or should I abandon my current code and try something else.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am programming in C# using ArcGIS 9.3 and Visual Studio 2008 and .NET 3.5&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Carlos&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Apr 2012 20:41:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcmap-threading-form-with-progress-bar/m-p/23039#M589</guid>
      <dc:creator>CarlosPiccirillo</dc:creator>
      <dc:date>2012-04-09T20:41:01Z</dc:date>
    </item>
    <item>
      <title>Re: ArcMap threading form with progress bar</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcmap-threading-form-with-progress-bar/m-p/23040#M590</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have found the IMouseCursor to behave strangely so tend to avoid it. I think each time your code calls external methods then you need to call .SetCursor() again.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Have you looked into using IProgressDialog? You can use it with a step progressor bar if you know how many iterations the process will take. If you don't know then hide the step progressor as shown below:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //CREATE OBJECT TO ALLOW USER TO CANCEL
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ITrackCancel trackCancel = new CancelTrackerClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; trackCancel.CancelOnClick = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; trackCancel.CancelOnKeyPress = true;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //CREATE A PROGRESS DIALOG
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IProgressDialogFactory progDialogFact = new ProgressDialogFactoryClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IStepProgressor stepProg = progDialogFact.Create(trackCancel, Handle.ToInt32());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IProgressDialog2 progDialog = (IProgressDialog2)stepProg;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; progDialog.CancelEnabled = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; progDialog.Description = "Querying database...";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; progDialog.Title = "Progress Dialog Title Here";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; progDialog.Animation = esriProgressAnimationTypes.esriProgressGlobe;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stepProg.Message = "Click below to Cancel...";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stepProg.Hide();&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Don't forget to close the dialog in your Finally block:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;progDialog.HideDialog();&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This progess dialog will not be embeded in your form but pop up in front. However, I have found it to be the most reliable way to show the user that lengthy background processes are occuring.&amp;nbsp; For shorter processes where a WinForm remains open you may just want to set the Windows cursor to a wait one.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 20:56:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcmap-threading-form-with-progress-bar/m-p/23040#M590</guid>
      <dc:creator>RichWawrzonek</dc:creator>
      <dc:date>2021-12-10T20:56:37Z</dc:date>
    </item>
    <item>
      <title>Re: ArcMap threading form with progress bar</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcmap-threading-form-with-progress-bar/m-p/23041#M591</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Rich,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for your reply. Yes, I have tried using the IProcessDialog and it works fine but I was trying to avoid opening yet another pop-up form. My boss REALLY likes how the progressbar set to marquee looks and wants the fewest pop-ups/forms as possible so I was trying to get it to work that way first and only go with the IProcessDialog as a last resort.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have never tried setting the Windows cursor to a wait one. Can you show me how to do that?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for your help and time, I really appreciate it!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Carlos&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;I have found the IMouseCursor to behave strangely so tend to avoid it. I think each time your code calls external methods then you need to call .SetCursor() again.&lt;BR /&gt;&lt;BR /&gt;Have you looked into using IProgressDialog? You can use it with a step progressor bar if you know how many iterations the process will take. If you don't know then hide the step progressor as shown below:&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //CREATE OBJECT TO ALLOW USER TO CANCEL
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ITrackCancel trackCancel = new CancelTrackerClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; trackCancel.CancelOnClick = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; trackCancel.CancelOnKeyPress = true;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //CREATE A PROGRESS DIALOG
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IProgressDialogFactory progDialogFact = new ProgressDialogFactoryClass();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IStepProgressor stepProg = progDialogFact.Create(trackCancel, Handle.ToInt32());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IProgressDialog2 progDialog = (IProgressDialog2)stepProg;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; progDialog.CancelEnabled = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; progDialog.Description = "Querying database...";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; progDialog.Title = "Progress Dialog Title Here";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; progDialog.Animation = esriProgressAnimationTypes.esriProgressGlobe;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stepProg.Message = "Click below to Cancel...";
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stepProg.Hide();&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;Don't forget to close the dialog in your Finally block:&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;progDialog.HideDialog();&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;This progess dialog will not be embeded in your form but pop up in front. However, I have found it to be the most reliable way to show the user that lengthy background processes are occuring.&amp;nbsp; For shorter processes where a WinForm remains open you may just want to set the Windows cursor to a wait one.&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 20:56:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcmap-threading-form-with-progress-bar/m-p/23041#M591</guid>
      <dc:creator>CarlosPiccirillo</dc:creator>
      <dc:date>2021-12-10T20:56:40Z</dc:date>
    </item>
    <item>
      <title>Re: ArcMap threading form with progress bar</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcmap-threading-form-with-progress-bar/m-p/23042#M592</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Here's how I set the Windows Wait Cursor (in VB.NET)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro"&gt;Windows.Forms.Cursor.Current = Windows.Forms.Cursors.WaitCursor&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The other thing I've done in some of my forms is to add a StatusStrip. In there, I've placed progress bars and messages to give the user an idea of what's happening as the application goes through its steps.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[ATTACH=CONFIG]13380[/ATTACH][ATTACH=CONFIG]13381[/ATTACH][ATTACH=CONFIG]13382[/ATTACH]&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Apr 2012 13:24:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcmap-threading-form-with-progress-bar/m-p/23042#M592</guid>
      <dc:creator>KenBuja</dc:creator>
      <dc:date>2012-04-10T13:24:42Z</dc:date>
    </item>
    <item>
      <title>Re: ArcMap threading form with progress bar</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcmap-threading-form-with-progress-bar/m-p/23043#M593</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Ken, the windows cursor seems to be more stable than the IMouseCursor one.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I will give the StatusStrip with a progress bar/message a try. I have never tried that before, do you have some code I could look at?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Carlos&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Apr 2012 13:57:04 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcmap-threading-form-with-progress-bar/m-p/23043#M593</guid>
      <dc:creator>CarlosPiccirillo</dc:creator>
      <dc:date>2012-04-10T13:57:04Z</dc:date>
    </item>
    <item>
      <title>Re: ArcMap threading form with progress bar</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcmap-threading-form-with-progress-bar/m-p/23044#M594</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Look at &lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.forms.statusstrip.aspx" rel="nofollow noopener noreferrer" target="_blank"&gt;MSDN help&lt;/A&gt;&lt;SPAN&gt; for the full documentation, but here's an example of how I use it. Here, I have already added the StatusStrip (StatusStrip1) to the form. Unfortunately, this example doesn't do anything with a &lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.forms.progressbar.aspx" rel="nofollow noopener noreferrer" target="_blank"&gt;progress bar&lt;/A&gt;&lt;SPAN&gt;, but that can also be added.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
'form initialization subroutine

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {toolStripStatusLabel1})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StatusStrip1.LayoutStyle = System.Windows.Forms.ToolStripLayoutStyle.HorizontalStackWithOverflow
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StatusStrip1.Location = New System.Drawing.Point(0, 0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StatusStrip1.Name = "statusStrip1"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StatusStrip1.ShowItemToolTips = True
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StatusStrip1.Size = New System.Drawing.Size(292, 22)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StatusStrip1.Text = "statusStrip1"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toolStripStatusLabel1.Name = "toolStripStatusLabel1"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toolStripStatusLabel1.Size = New System.Drawing.Size(109, 17)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toolStripStatusLabel1.Text = "toolStripStatusLabel1"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StatusStrip1.Visible = False

'processing code
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StatusStrip1.Visible = True
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toolStripStatusLabel1.Text = "Starting"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StatusStrip1.Refresh()

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'more code

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toolStripStatusLabel1.Text = "Processing layer " &amp;amp; pLayer.Name
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StatusStrip1.Refresh()

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'more code

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As Exception
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Windows.Forms.MessageBox.Show(ex.ToString, "Run")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Finally
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StatusStrip1.Visible = False 'Make it invisible when finished or in case the process crashes early
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try



&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 20:56:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcmap-threading-form-with-progress-bar/m-p/23044#M594</guid>
      <dc:creator>KenBuja</dc:creator>
      <dc:date>2021-12-10T20:56:43Z</dc:date>
    </item>
    <item>
      <title>Re: ArcMap threading form with progress bar</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/arcmap-threading-form-with-progress-bar/m-p/23045#M595</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Ken, this should help a &lt;/SPAN&gt;&lt;STRONG&gt;LOT&lt;/STRONG&gt;&lt;SPAN&gt;! &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Apr 2012 15:13:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/arcmap-threading-form-with-progress-bar/m-p/23045#M595</guid>
      <dc:creator>CarlosPiccirillo</dc:creator>
      <dc:date>2012-04-10T15:13:39Z</dc:date>
    </item>
  </channel>
</rss>

