Separate Thread Accessing To Main Ui Controls?
Aug 25, 2009how to access the main ui's labels from a delegate method?
View 7 Replieshow to access the main ui's labels from a delegate method?
View 7 RepliesI'm reading data from a serial port, but the DataReceived event of SerialPort is handled on it's own thread. I want to handle this on the main thread, but simply declaring an event and raising it still results in it being processed on the SerialPort thread. I'm assuming I need to declare a delegate I can call, but I don't see how that would work.
For example, I want to call Sub HandleDataReceived() on the main thread from the DataReceived thread, having HandleDataReceived() run on the main thread. How would I do this?
I have an ASP.NET Web Site I am creating in Visual Web Developer 2008 Express using Visual Basic as the language. It is actually a rewrite-with-mods of an existing ASP script and I'm trying to chew what I've bitten off. I created my page with a text box (txtOutput) on it and since the end product is very complex, and it's generally good practice to separate like functions, I have created 4 separate classes in the App_Code section. My main page is Sync.aspx and has a code file Sync.aspx.vb with it. One of my code files is SyncDatabases.vb and in it I have created
Public Class SyncDB
In that class I have created some routines such as
Public Function ReadMSDB(ByVal SQLString as string) as Boolean
In this routine I want to put information in my text box txtOutput on the main form (the default - Form1).
My problem is that if I try:
Form1.txtOutput.Text = "Hello world"
or just
txtOutput.Text = "Hello world"
it says Name 'Form1' (or 'txtOutput') is not declared. I am sure I am missing something simple but have no clue what it is. I assume it's the fact that the write command is in a file (class?) outside the file (class?) containing the page itself but I don't know how to address it properly.
How do i load the Main form of a WPF so that a seperate thread goes and gets data from the database while the form is in an apartmentstate? (drag-able / movable) I Know this is possible with opening a new window from your main form like this :
Private Sub openOrderWindow()
Dim OrderWindow As Orders = New Orders
OrderWindow.ShowDialog()
End Sub
[code]....
I've tried putting MyBase.ShowDialog() and .Show() and .9000+ other things The only benefit I've got out of using a seperate thread to load from the databse is i can see the screen right away (as oppose to it being a transparent box until it loads) but i cannot move it around or minimize it?is there any way to make it Movable while it loads?
I'm creating a Client Server application which involves theServer running some scripts in clients and getting back results in an automated way. In Server, other than Main thread, i have 2 worker threads, a) one monitoring response from clients and b) the other scheduling next available job to respective client which executes that job. The issue here is ,I want these worker threads to write the status of their work in the UI(which comes under Main Thread). Also i need to write things in worker thread in a Data table and Rich Text Box in Main thread. But, I can't do so, since it has been blocked to access one thread's function or property directly from others. Is there any work around to do this?
View 8 RepliesPreface: I know this is an unusual/improper way to do this. I can do this with a "real" ShowDialog(), background worker/thread, and so on. I am trying to do specifically what I describe here, even if it is ugly. If this is impossible for X reason, I have created a fancy progress dialog for some of our long running operations. I need to have this dialog shown on a new thread while having processing continue on the calling (UI in most cases) thread.
[Code]...
I have a thread in an application which calls a sub routine Main(). The Main sub routine in turn call several sub routines/functions from with the same module,several different classes in the same application. Also some sub routines/functions call routines from a class library. Now say the routine/function in class library goes into a infinite loop and never returns. I would like my thread in the application to raise a event and display message to the users about the infinite loop. I am giving some sample code for the application.
Imports System.Threading
Module VMain
Public gbSuspend As Boolean
[CODE]...
As we know, one STA UI thread creats the controls only canbe accessed in the UI thread in Winform application. And we need to call control.invoke or begininvoke to run the code in the background thread.
Yes, below code in VB.Net , VS 2010 Winform project can throw the exception "Cross-thread operation not valid: Control 'Form1' accessed from a thread other than the thread it was created on."
[Code]...
I'm working with BackgroundWorker, I want the BackgroundWorker do the retrieval process of data from database while the user can still do another task on the form. The problem is, after retrieving the data, I can't seem to access the ListView in my Form from the DoWork event of BackgroundWorker, I will populate that ListView using the data I've retrieved.
Consider this example, this is how I'm doing it:
Public Class Test
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
[Code].....
I have a few forms that have a lot of really intensive updating along with a great deal of user interface (text boxes, button clicking etc) Is it possible to open a separate form as a separate UI thread from the start up form that called it to "show" or open or whatever the new method might be?
View 6 Repliescould someone tell me how to fire an event in main thread from another thread as well as fire and forget without use a new thread?
View 9 RepliesI have created a windows forms application with a lof of images and icons. The main .exe file is getting rather large. About 15mb. I assume it is because all of these images and icons. I use a .resx file to hold the images/icons.
Can I seperate the resource file from the main executable? Into a DLL or something?
I use an auto update program and would like to prevent the user downloading the whole 15mb .exe each time.
I have coded two seperate VB.net windows forms application as two seperate projects in seperate solutions. I now want to combine one project called "Reporting" into the other project called "AnalysisApp" and be able to call the Reporting apps main form.The Reporting app utilies a whole load of controls from DevExpress which are not included in the "AnalysisApp" I have added references in "AnalysisApp" to the DevEpress controls and also to the Reporting app, as well as combining the Reporting app into the same solution, but when I build the "AnalysisApp" it fails saying that it cannot find the DevExpress DLLs
View 3 RepliesI wanted to know if anyone could tell me how to access the Click_event.I have a boarderles form with a panel control which has the Dock property set to fill and on the panel I have placed a Label also with the Dock property set to fill. I also have a timer running.How can I get code to execute in the Label1 click event.I've tried doing it by using the generic Click_event and also with two variations of the Click_event Handles parameters
'Alternativ 1:
Private Sub Form1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
[code].....
If I have the following ListView, how can I attach a SelectedIndexChanged event listener to the DropDownList so I can perform a command on the respective object? Imagine I have a list of new users and I want to add them to a usergroup by selecting the group from the DropDownList.
<asp:ListView ID="NewUsers" runat="server" DataSourceID="NewUsersSDS" DataKeyNames="ID">
<LayoutTemplate>
[Code].....
I've been searching for the answer for a while but can't find it yet. Basically so far I have a simple VB.Net form with one button.I would like to make a class or module that can handle events from the main form. This is my code so far but it doesn't seem to work.
View 6 RepliesMy program crashes with the following error:Controls created on one thread cannot be parented to a control on a different thread.Purpose of the program is to add a control from a thread outside the main thread.Below is the code Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
[Code]...
I have a new solution with 5 projects inside. a data access layer, database, 2 class libraries, and the main form. These are all components that I had worked on to get to this point of combining into 1 solution. Now what I have run into is I can not the actual functions in the class libraries. I can get to the class level, but that is it. ere is a sample line of code I need to get working. Once I get this one line, the rest will be obvious: Temperature is on the main form. get for options is "Equals, GetHashCode, GetType", etc... Before this I had bult, compiled, and referenced these classes separately, and it worked fine. I know this is going to be an easy answer, I'm just not seeing it for some reason.
View 15 RepliesIs there a way I can run a loop in a seperate thread and increment a progress bar each time the loop iterates? I am trying to run a loop that will take a long time to complete and I dont want the form to be completely crashed out while the loop is running. There are only two ways I can think to solve the problem. The first way is to run the loop on a timer. This is extremely slow. The other way is to use a thread.
View 1 RepliesI just finished up my space invaders movement and with all the other timers running it really bogs it down. So I think the best solution would be to make the timers run on separate threads. I know roughly how to do this from a old example I read a long time ago. So I just need a simple sample code to refresh my memory please. Maybe something with message boxes or something to demonstrate the process.
View 1 Replieshow can i allow a progressbar to be changed on a seperate thread? my code keeps saying that i cannot access it because it was created on a seperate thread:
[Code]...
If it is not worth it, it is not fun - you say programmers are boring but i say they are worth it.
So, I'm having troubles implementing a separate thread. This is because I have a simple class, and in it I start a new thread. So, as it is not any form, I haven't found any way to make it call the function in the UI Thread.
So, I cannot use the Invoke method. Is there any way to call a function from another thread?
I would like my application to do something (in one form) and while form is doing that i would like to show another form to the user. Code is:
Private Sub blaa()
Dim a As New Working() 'working is another form
a.Show()
'Do some stuff
a.Close()
End Sub
But when i make new form i find it is on the same (main thread) and therefore new form also frozes. How to make new form on separate thread?
I've made an application which goes through a long procedure when a button is clicked. I don't want the user to think the program has frozen, so I'd like to add a marquee progress bar just to show that it's still running. However, if I simply add the progress bar and make it visible when the button is clicked, the bar will appear but freeze and wait for the procedure to finish before it starts scrolling.
I know this is due to both the procedure and the progress bar running on the same thread, but the tutorials I've seen on getting a process to run on another thread seem confusing. What is the simple way to make a progress bar run on a separate thread?
when trying to run a function in a separate thread, my reason for trying this is because since the application is only run on one thread, the GUI hangs when the function is called.[code]In this code, the Print screen Button is pressed and the function HookCallBack is called.The problem is that the function has variables that need to be passed and returned, and while searching, i found a website that had an answer for this, and it required the function to be put in a class, and then it could be run on a separate thread while still passing all the variables needed.url...But the code cannot be placed in a class without giving errors and it seems to me like i did something wrong. The code is meant to be used in a form and not a class.My question is, how would i go about running the HookCallBack Function in a Separate thread?
View 5 RepliesHere's the problem I am trying to solve. My program can export a file as a pdf. and other formats. I can open the file using process.start. My file doesnt have a good name so I am using a GUID as a name.
[Code]...
I'm working on a checksum tool, which loads all the files in a specific folder to a listview then, calculates the hash value of each file and save it to a text file.Ok, everything is working properly except for the calculation, when I start it on a separate the my UI freezes.[code]...
View 5 RepliesI'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].....
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].....
For some reason, the following code is causing me some issues. This code pulls lockout status data from AD and contains the data within a datatable. An event is raised from the threaded procedure to add the data to a listview control. For some reason one row of data gets added to the listview control and when you run the procedure gain, 2 rows of the same data gets added, and then 3 rows, etc.
This code calls the procedure "CallGetUserLockout"
GetLockoutStatusToolStripMenuItem.DropDownItems.Add("For Current User - " & User, Nothing, AddressOf CallGetUserLockout)
[code].....