Solved

Processing Please Wait Form: While  routine is running

Posted on 2007-04-10
10
445 Views
Last Modified: 2011-09-20
vb.net 2003

What I have:

I have a form called
frmWait

Label called  lblMessage

What I need:
While I'am running routines in my code. I want to be able to call this form. display it. Sort of like a progress bar. Saying..."Processing please wait" ....
and a bonus having  the dots go back and forth ....    ...   .    .... ..   .   etc  
When the routine is done:
frmWait  closes.

Thanks
fordraiders



0
Comment
Question by:fordraiders
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 2
  • +1
10 Comments
 
LVL 21

Accepted Solution

by:
theGhost_k8 earned 250 total points
ID: 18885383
in your process
dim obj as frmwait = new frmwait
obj.showdialog


on form_load
1) you can place a GIF for ... on a label
2) manually use timer control to handle number of dots..
 eg. for timers each tick you can add a "." in lable's text.. and check if its crossing some prespecified number of dots!!
eg this will show 20 dots and start from 0 again...
                  if lblDots.text.length < 20
                           lblDots.text = lblDots.text & "."
                   else
                           lblDots.text = "."
                    end if
       
finally when ur process ends you just close the form
0
 
LVL 24

Expert Comment

by:Jeff Certain
ID: 18885710
As theGhost menitioned, an animated GIF on a label sounds like it would fit your needs admirably.
0
 
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 18886012
The success of this really depends on ~WHAT~ the "running routines" are doing.  You may have to move that code to another thread...

Can you give us more details?
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 24

Expert Comment

by:Jeff Certain
ID: 18886036
Mike,

You big sissy. He doesn't _have_ to use multi-threading. :P

Now, whether he _should_ or not is another story entirely.

However, I figured if he was throwing up a "wait" form, there was probably a bunch of processing going on that the user needs to wait on... (I know, I know... assumptions....)

Jeff
0
 
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 18886068
Lol@Jeff...   ;)

I thought I had seen posts before where making callls to databases and what not have made animated GIFs stop animating...would have to check on that.  Blocking database calls would also stop the Form from processing Timer tick events as well.

If he just has some intensive loops then we can just throw Application.DoEvents() in there and "call it good".

Like I said, it just depends on what you're doing...but I never said anything was wrong with the previous posts!  =)
0
 
LVL 3

Author Comment

by:fordraiders
ID: 18887427
example loop:
looping through  10,000 records ....
 
Private Sub SnR()
              ' Using Access Database Search and Replace
        Dim conn As System.Data.OleDb.OleDbConnection
        Dim tblCriteria As New DataTable
        Dim tblData As New DataTable

        conn = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\DM\Sku.mdb")
        'make dataadapters
        Dim dac As New System.Data.OleDb.OleDbDataAdapter("SELECT fldCid, fldFindMe, fldReplaceWith FROM tblCriteria", conn)
        Dim dad As New System.Data.OleDb.OleDbDataAdapter("SELECT fldID, fldDid, fldMfgname, fldMfrnum, fldDescription FROM tblData", conn)
        Dim cb As New System.Data.OleDb.OleDbCommandBuilder(dad)
        'get the datables from Access
        dac.Fill(tblCriteria)
        dad.Fill(tblData)
        'revise the data
        Me.Label18.Text = "Step 5 of 8 :Replacing Words"
        Me.Label18.Refresh()
        'send updated table back to Access
        For Each drc As DataRow In tblCriteria.Rows
            For Each drd As DataRow In tblData.Rows
                drd("fldDescription") = ReplaceWords(drd("fldDescription"), drc("fldFindMe"), drc("fldReplaceWith")) '<------- your procedure
            Next
        Next
        dad.Update(tblData)
         End Sub

to all
0
 
LVL 86

Assisted Solution

by:Mike Tomlinson
Mike Tomlinson earned 250 total points
ID: 18887534
Place "Application.DoEvents()" into your tight loop so you can update the label and allow it to repaint itself.

Using the approach presented by theGhost_k8:

        Dim fw As New frmWait
        fw.Show()
        Application.DoEvents()
        For Each drc As DataRow In tblCriteria.Rows
            For Each drd As DataRow In tblData.Rows
                drd("fldDescription") = ReplaceWords(drd("fldDescription"), drc("fldFindMe"), drc("fldReplaceWith"))
                If fw.lblMessage.Text.Length < 20 Then
                    fw.lblMessage.Text = fw.lblMessage.Text & "."
                Else
                    fw.lblMessage.Text = "."
                End if
                Application.DoEvents()
            Next
        Next
        fw.Close()
0
 
LVL 3

Author Comment

by:fordraiders
ID: 18898261
To All,   from
Ghost KB
1) you can place a GIF for ... on a label
2) manually use timer control to handle number of dots..
??  How to do this or example...
0
 
LVL 21

Expert Comment

by:theGhost_k8
ID: 18898287
0
 
LVL 21

Expert Comment

by:theGhost_k8
ID: 18903438
thnx 4 pts, but its not "Ghost KB"
its theGhost<UNDERSCORE>k8.
             ;)
0

Featured Post

Enroll in May's Course of the Month

May’s Course of the Month is now available! Experts Exchange’s Premium Members and Team Accounts have access to a complimentary course each month as part of their membership—an extra way to increase training and boost professional development.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Since .Net 2.0, Visual Basic has made it easy to create a splash screen and set it via the "Splash Screen" drop down in the Project Properties.  A splash screen set in this manner is automatically created, displayed and closed by the framework itsel…
Parsing a CSV file is a task that we are confronted with regularly, and although there are a vast number of means to do this, as a newbie, the field can be confusing and the tools can seem complex. A simple solution to parsing a customized CSV fi…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

737 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question