Click to See Complete Forum and Search --> : [RESOLVED] [2008] Updating Form Variables during Thread


tim8w
September 1st, 2009, 05:49 PM
I'm not sure exactly how to describe this. In VB6, there was a Timer command. I could create a variable of type Timer and loop until the current value for Timer exceeded the initial plus a given amount of time. This allowed me to update form variables while the timing loop was executing. How can I do something similar in .NET?

Here is a sample of the VB6 code:

Dim StartTimer As Double

StartTimer = Timer
Do

Call Sleep(100)
txtFinalRefValue.Text = DVMread(SystemSetup.RefChannel)

Loop While (Timer < (StartTimer + LeakTestTime)) And DoEvents()

dglienna
September 1st, 2009, 07:28 PM
Loop While (Timer < (StartTimer + LeakTestTime)) ' And DoEvents()

Remove the DoEvents() from the loop, and it should work. That's not exactly the best way to do that.


You can have a separate thread that updates a textbox separately from the main thread. They both run at once, but one doesn't hold back the other, like DoEvents would. (10x per second!)

tim8w
September 2nd, 2009, 09:52 AM
I guess I just didn't realize that the Timer function still existed in .NET. Here's the final code...


Dim StartTimer As Double
Dim LeakTestTime As Double = 5

StartTimer = DateAndTime.Timer
Do

Threading.Thread.Sleep(100)
txtFinalRefValue.Text = DVMread(SystemSetup.RefChannel)
Application.DoEvents()
Loop While (DateAndTime.Timer < (StartTimer + LeakTestTime))