Create A Thread To Update The UI?
Jun 22, 2012
The usual VB way to handle a computationally heavy task is to put it in a background worker thread, while the main thread keeps handling the UI.Say for whatever reason I needed to do this the other way around: the main thread doing the grunt work and the background one updating the UI.Here's what I have so far. The only problem is, while the UI window (Form1) does get redrawn, you can't interact with it, not even move or resize it (the mouse cursor turns to hourglass and won't click).
Public Class ProgressDisplay
Private trd As Thread
Public Sub New()
trd = New Thread(AddressOf threadtask)
[code]....
The client will call it like this (actually in unmanaged c++ over COM but you get the picture):
Dim prog = new ProgressDisplay()
DoLotsOfWork(addressof prog.update) ' DoLotsOfWork method takes a callback argument to keep client informed of progress
View 3 Replies
ADVERTISEMENT
Nov 18, 2009
I have a program that runs for some time and I would like to update the user on its progress. The rest of the GUI is updated using Delegates and Invokes and such (Java is Soooo much cleaner in this regard - everything is thread safe!!), but there is no invoke method for the progress bar. How can I use a delegate to update the progress bar when there is no invoke to invoke!!
View 1 Replies
Jun 15, 2010
Im working on a program ( vb 2005 CE framework ). I have mainly two threads, the main one and another one I use it for a different thing.When I tried to update the UI this exception was thrown : Control.Invoke must be used to interact with controls created on a separate thread.well !I have tried to use the INVOKE, but it wouldn't work. this is where I get the error :
Public Sub PaintKeys()
Dim tempLevel As clsLevel
Dim tempKey As ClsKey
[code]....
View 5 Replies
Dec 7, 2010
below is a small part of my asynchronous TCP connection code. When I connect I'm passing a ListViewItem as Object parameter. I'd like to update the ListViewItem once the connection has been established or an error occurs. ServerConnect runs on a separate thread, because it's an asynchronous connection, so I can't update the ListViewItem directly.
Does anybody know how to update the ListViewItem?
I looked at jmcilhinney's asynchronous TCP example in the Codebank forum, but it confused me. I don't know which parts I need and which parts I don't need.
::edit::
One more thing. I also need to update the ListViewItem in the Read sub, but I'm passing "buffer" as Object, so how would I update the ListViewItem there?
vb.net
Imports System.Net.Sockets
Public Class TCP
Private Socket As TcpClient
[Code].....
View 8 Replies
Apr 22, 2012
I am trying to write an app that in the thread will do some tasks, the form lokks like this:and what it should is something like this:
- retrieve data, populate a row in the listview, increase the first progress bar
- retrieve data, populate a row in the listview, increase the first progress bar
- retrieve data, populate a row in the listview, increase the first progress bar
[code]....
View 2 Replies
Nov 2, 2011
Basic function - enter 5-10 urls. Download all web pages using multi threads and then process it. Then in the end, the text from all threads should end up in a richtextbox. It can't be done using any of my googly searches so i thought about asking this :
how would you update text in a richtextbox from a different thread?
I am being able to download and process web pages. But can't add it to richtextbox.
View 2 Replies
Jul 26, 2011
I have a TCP server app that starts 2 threads when the server is activated, I want the threads to add text to the textbox on the main form. Here's is what I have tried [code]I have added MsgBoxes at points so I know the Sub updatetext_ is being called, and the text is being passed, they are also showing that InvokeRequired is always FALSE. In any case the textbox txtMessages is not being updated.
View 11 Replies
May 9, 2010
I've looked at the on line doc over and over, and I can't seem to figure out why this won't work. This code runs the thread, and the thread seems to execute the code in the 'threadsafe' sub, however neither the progress bar is updated or the button click performed.
Imports System.Threading
Public Class VisNotify
Inherits Form
[Code].....
View 4 Replies
Sep 1, 2009
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?[code]...
View 5 Replies
Oct 20, 2010
I am new to multi-threading in VB.NET and have come across a problem whereby I am wanting to append text to a text box on a form from a service thread running in the background.
The application I am developing is a client/server listener, I have been able to get the client and server PC's to talk with each other (confirmed through MsgBox), however I am now struggling to get the service thread on the server to append the text to the textbox, nothing vissible occurs.
I have a form named testDebug which calls a class (RemoteSupport), this class does all the handshake tasks and updates the textbox with the connection data.[code]...
View 2 Replies
May 4, 2010
The code below works fine when I put it in form1.vb and change "form1" to "me" but I can't seem go get it to work from my class.
VB
Imports System.Threading
Public Class Class1
[Code].....
View 2 Replies
Dec 8, 2009
I'm writing a program in which I'll receive data using serial port using Comport.DataReceived event which I've written in seperate class. Once I receive data from my comport I need to display that data in my listbox in the form. What is the best way to do this?? I don have much knowledge on using delegates. An
View 14 Replies
Apr 22, 2012
I have a form that looks like this:and i'm using a backgroundworker to update the components:
Code:
Private Sub btnGO_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGO.Click
[code].....
View 2 Replies
Aug 8, 2011
I have a web app which displays a list of emails that need to be sent for the day. The user can select what emails to send, then click a button to generate them. When they click the Send button, a process gets started on another thread which generates the emails, then cleans up after itself by deleting a temp folder. Once the process is finished, the Repeater is rebound to update the User's view and remove the emails that have just been sent so they don't get sent again.
My problem is that when I delete the temp folder from my 2nd thread, the UI doesn't update with the new Repeater data. It updates correctly if I just delete the files in the folder instead of the folder itself, and it also updates correctly if I run the delete the folder on the original thread instead of the 2nd one.
New Thread code
Dim t as Thread = New Thread(New ThreadStart(AddressOf EmailLetters))
t.Start()
Delete folder code
Dim fs = Server.CreateObject("Scripting.FileSystemObject")
fs.DeleteFolder(Server.MapPath(".") + " mpEmailFiles")
Why won't the UI update to show the new repeater values when I delete a folder on another thread?
When you click the button, a thread gets started and a javascript load script starts executing which does a PostBack every 10 seconds. Each postback checks if the thread is complete and updates the Status label showing the result. If I delete a folder from within the background thread, the final update to the status label never occurs. If I remove the DeleteFolder call, it does.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ Import Namespace="System.Threading" %>
<%@ Page Language="VB" Debug="true" %>
[Code]....
View 2 Replies
Apr 17, 2009
I created a new thread to run with a loop to update a textbox (this is just a demo, in reality this thing would go out to a db every x minutes to request an update). I did this on a timer, but i wanted to try to do it on a different thread.. anyways, this is what I have: (one form, one textbox, and this code...)[code]I'm getting a warning through (the "Thread.CurrentThread.Sleep(2000) part is underlined) which states:"Access of Shared Member, Constent Member, enum Member, or Nested Type through an instance; qualifying expression will not be evaluated".
View 5 Replies
Nov 12, 2010
I've been searching around for ages now but can't seem to find what I'm looking for, anyway came accross this wonderful place so thought ay I'm creating a rewards system for school where pupil earn points for good behavior which they can then use to purchase things like a packet of pens. (They can also have points deducted for bad behavior)
View 2 Replies
Mar 29, 2012
I have a textbox which will accept a user input for a email address or phone number.I want to using a new thread do a search for various results and populate a listbox.I know i need to do this in another thread so my main form will still operate but how can I do this? I've never used threads before and I know it's tricky to get the values from a textbox and also update a list box on another thread.
View 16 Replies
Feb 5, 2011
I have an application which runs two threads.
- One thread is the main thread while the other one is to monitor the main thread.
- The errors are written to a custom event log
- There is an event handler to handle the event logs
- When an event occurs I want to create a new thread and update the event to a sql table (pseudo code)
- Also in case their are number of errors/events
how should I handle them (pseudo code)
View 5 Replies
Aug 8, 2011
I'm having trouble getting a progress bar to update. I'd be okay just with a moving marquee bar. Basically, I'm reading a database routine in a SqliteReader.vb class. I need to use the worker_DoWork routine, but I'm not sure how to expose my variables coming from Form1: graphData, graphComputations, m_debug to the worker_DoWork sub. How is this usually done? [Code]
View 3 Replies
Apr 16, 2011
im still stuck and i really to get past this and move onto the rest of my program. I'm trying to update a textbox with new text from another class on another thread. I can get this to work no problem on another thread with the same class, and on the same thread in another class. but not on another thread on another class. my code looks like this, when it is run to produces no errors but does not add the test to the text box, what is wierd is i had made some changes to the program to add multiplelines to consolebox.text and then checked console.text from form2 and it produces the values i added but those arent reflected inside in the consolebox for some reason.
[Code]...
View 1 Replies
Jul 2, 2011
My application has a total of 1 form. I have several modules, one of which is a module that handles a background worker dynamically. But what I need to be able to do is update a textbox from the background worker thread. Again, this code is contained within a module, not directly on the main form, so I am totally clueless as to how to make a reference to it. It's easy in WinForms, but I can't for the life of me figure out how to do it in WPF...
View 4 Replies
Jun 8, 2010
I run a thread from my main form that do some stuff i want that each action that the thread do will be written on a lable on the main form. How can i do that? I try to give it a pointer of the form but with no luck since its not allowed by the compiler. here is how i create the thread object in my form:
[Code]...
View 2 Replies
Jul 3, 2011
I want to raise an event from a non-UI thread where the event will be handled by the UI. Currently, I have to use .Invoke in my methods (which updates UI) called from the event.
How can I raise the event, similar to Background Worker's progress update event, where I don't have to specifically do an .Invoke for UI updates?
Do I wrap the event with a delegate or something? Sample code will be fine though, if the explanation was tedious.
View 9 Replies
Feb 27, 2012
Updating the TextBox from a Thread that calls a function within a Class does not work. I'm trying to get this to work in a DLL (but I tried without as well). The DLL is accepting an Object as an argument[code]....
View 1 Replies
Sep 15, 2011
I am having trouble accessing the main thread (my form) when calling thread is running in a class (or module). I have no problem to manipulate a data (in a thread) from a form, the textbox can be updated using delegate and invokerequired but it doesn't seem as easy when the thread that processes a variable is handled by a thread that is running in a class.
[Code]...
View 4 Replies
Aug 13, 2010
In one application, I need use 4 simultaneous threads.When the threads finished, I need to update the text of a TextBox.So, I create 4 Textbox, and I wanna the threads change the text to FINISHED.Each thread change one distinct TB.I use this "example"
Dim Terminados As Integer = 0
Private Sub frmEnviarMensagem_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Enabled = True
Timer1.Start()
[code]....
The problem is, I have an error in the red lines.The error is: INVALIDOPERATIONEXCEPTION "Cross-Thread operation not valid: Control tbPlaca1 Accessed from a thread other than the thread it was created on."I don't use cross threading. Each TB only was accessed for the correspondent thread, and for the "main program".
View 3 Replies
Nov 3, 2011
This is the error message I am getting:
"Cross-thread operation not valid: Control 'Panel1' accessed from a thread other than the thread it was created on." The reason I am getting this error is because I am opening up a new form and then calling these three things:
Panel1.Show()
Label1.Show()
Label2.Show()
why I get this error message because it doesn't occur normally if I open Form2 after closing Form1, it only occurs when I open Form2 after closing Form4.
View 4 Replies
Jul 21, 2009
I have done a program using vb2005 to display reading from my microcontroller bs2 board but have encountered some problems. My code are as follows.
Dim Stop_Rx As Boolean
Private Sub btnRead_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRead.Click
SerialPort1.Open()
[code]....
I've encounter an error which is, (Cross-thread operation not valid: Control 'txt1' accessed from a thread other than the thread it was created on.)
View 7 Replies
Jun 21, 2012
When my client try to connect to server I'm getting this error : Cross-thread operation not valid: Control 'l_users' accessed from a thread other than the thread it was created on.
Private Sub _socketManager_onConnectionAccept(ByVal SocketID As String) Handles _socketManager.onConnectionAccept
l_Users.Items.Add(SocketID)
End Sub
View 3 Replies
Feb 17, 2012
Would anyone be able to help me here please. I'm fairly new to VB.net and threading so im just trying to figure out what is happening.When I debug this I am getting the error thread operation not valid: Control 'ProgressBar1' accessed from a thread other than the thread it was created on.
I'm a little lost as to why the error is occuring or how to fix it. I've had to put the progress bar in a separate thread otherwise the GUI crashes
[Code]...
View 2 Replies