Sorry if this has been asked before, I did a search but couldn't find anything.
I am new to programming and thought I'd start with a GUI menu type thing. One of the options is to tell program's to install one after the other. This works fine but when other people are using it they question how they are supposed know how far it's got.
So I created a form that has the title of what's currently installing, item number e.g 3 of 24 items and a progress bar.
On the actual install form it sets the maximum value of the progress bar based on the number of checkboxes ticked, it then says if checkbox ticked update label on progress form, and then calls a sub which adds one to the current item count (I.e. so it goes 1,2,3,4,5... of x items) and the ProgressBar.Value = to the current item number and tells it to refresh the progress form (progressForm.Refresh - I've tried progressForm.Update as well).
This works fine when there's only a few things to install but when you have a lot of items installing it gets to the 6th or 7th item and then stops updating (labels and progress bar), the program's keep installing fine but just no progress updates.
I've tried on several computers and all have same problem. If I make it so it counts and does a progress bar where the only command between updates is to pause (I think it system.thread.sleep(2000) - I can't remember the exact command but it works) it will then count to anything, the most I got it to do was a 1000 items.
The program's are run with the Shell command and the true variable is used to tell the program to finish before doing the next instruction.
Does anyone know why it does this or if there is a better way? The other progress bars seem to work on the progress of processes rather than counting items.
I'm using vb 2010 by the way.
Thanks in advance