VS 2008 Adding Controls From A Thread?
Mar 23, 2009
I'm trying to dynamically add a control to a form from an event that is raised from an asynchronious socket's thread.
In other words, when I get an OnDataArrival event is raised from the socket thread, I raise DataArrival event in my form. The form's DataArrival sub then tries to create and parent a control.
Whenever I try this, I get the following error: Controls created in one thread cannot be parented to a control in a different thread.I know a bit about delegates and invoking, and I think that's how to solve this problem, but I don't know where to declare the delegates and how to use them.
Ideally, I want a delegate/invoker to handle the DataArrival sub in the socket class so that everything that happens after that will be thread safe. Can this be done?
View 2 Replies
ADVERTISEMENT
Jun 2, 2010
I am trying to add a picture box to my form that contains an animated progress gif, in a separate thread, but I can't seem to get the picture box to appear on the form. Here is my form
vb.net
Private Delegate Sub AddProgress()
[code].....
View 12 Replies
Feb 15, 2010
My 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]...
View 1 Replies
Aug 31, 2009
When I add a control to a TLP in design mode several new properties get added to the control, such as ColumnSpan, RowSpan, etc, which can then be set in the properties window. If I add a control to a TLP in code these properties don't seem to be available. how to set these properties in code if it's even possible?
View 2 Replies
Jan 15, 2012
im trying to work with adding controls in runtime. Anyways ive added a ContextMenuStrip control in runtime and added a item called "Display". The ContextMenuStrip is also added to textbox's that are also added in runtime and when i right click a textbox i see the "Display" but i want it to do "msgbox(textbox.text)" when i click "Display".
[Code]...
View 1 Replies
Nov 10, 2010
I have a form that I will be using to keep track of data for computers I build and will eventually link into a database for configuration management, but for right now I'm just trying to get the basic form layout done and functional. I need this for to be customized for each job I do, that means I can have multiple computers, PC card, peripheral equipment, etc. So with that said basically what I have done is created a user control for each separate item that I want to add (i.e. computer, PC card, etc) that has all the fields and functions I require. When I want to add another computer I just add a tab and place my "computer" user control on it, no big deal...
My issue is when I want to add my "PC card" user control to that "computer" user control. What I am trying to do is to add the first user control(PC Card Info) I created under a button called "Add New PC Card" (which is part of the "computer" user control.)and that part works! What I want to do is keep added as many "pc card"user controls as I need and basically keep appending them under the last control on the bottom of the page (which is the "pc card" user control, that is a groupbox with a few drop down boxes and text boxes in it.)with a little spacing between them. The biggest problem I am having is when I add the first "PC Card" user control, it works.. but when I try to add another one and search the current page for all user controls under a certain point or with a specific name, I don't get any results.
I think I'm on the right track with the following code but I am running into 2 things I can't do that are critical to my needs. 1: I need to define the text of the user control I just added so I can uniquely identify it, so If I need to remove it I can and will also play a role later( I thought if there was some way in code to make my control # a variable that may work) 2: I need to know what to look for since I have a count that represents how many of that particular control exist on my form, that way I can name them properly, this will also allow me a method to delete the user control if desired.
Dim pccard As New PC_Card
Dim x As Integer
Dim name As String
[Code].....
View 3 Replies
May 6, 2011
I am dynamically creating and adding dropdown controls to DevExpress XtraGrid.That works fine and I can add a dropdown control to any column I wish.My main problem is that I need to have the first element in the dropdown control displayed. But after I dynamically add 3 dropdown controls to the grid, only the last one has the element displayed. The previous two do not.Although, I add the elements
this is what the code looks like:
vb.net
Dim column as DevExpress.XtraGrid.RepositoryItem.GridLookupEdit
For i as Integer = 0 to dsSometing.Tables(0).Rows.Count - 1
column = New DevExpress.XtraGrid.RepositoryItem.GridLookUp
[code]....
The code will go tru and add lets say 3 dropdown controls, set their .DataSource to datasets I need, but it will only show .NullText of the last added control.
View 1 Replies
Feb 10, 2010
I'm adding multi-threading facilities for the first time. I have a function that is wrapped to be run in a separated thread. This function retrieves data (text) from a combobox and it works for sure without multi-threading.
When I call it as multi-threaded, I get the following error when I try to retrieve the data from the cmobobox: Cross-thread operation not valid: Control 'cmb1stBL' accessed from a thread other than the thread it was created on.
It looks like a restriction of thread-safety... I assume that the child thread cannot read from his parent, to make sure that he doesn't change his parent data. So how can I read the data from the combobox? Should I read the comoboxbox data before calling the child thread?
View 4 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
Dec 28, 2011
I've got a bunch of labels that I update regularly in the program, resulting in lagg, which is bad, so how can I update the labels in a thread?
When I try
Thread = New System.Threading.Thread(AddressOf ShowInfo)
Thread.Start()
[Code]......
View 3 Replies
Nov 27, 2010
1) Which one works better? BackgroundWorker or Multithreading?I have to do lots of processing in my application, I'm not too sure how the two of them works.
2) Can I assign controls in a GroupBox to a thread?Let's say I have to login to a certain forum twice with different accounts, so in GroupBox1 (thread1), I'll be logged in with username "asd", in GroupBox2 (thread2), I'll be logged in with username "zxc", and I have to do lots of processing (mostly html parsing) from there. Is this possible without stressing on memory usage? I'd like to keep my program memory usage under 10k.
[Code]...
View 7 Replies
Aug 24, 2009
Here is my setup:
Form1.vb - contains RichTextBox1 and BackgroundWorker1, which calls a the Control module.
Control.vb - calls Display module.
Display.vb - calls Form1.SetTextBoxText("text here").[code]...
My observations: When the Display module calls SetTextBoxText, InvokedRequired's is false. Also, if the BackgroundWorker1 (which is in Form1.vb) calls SetTextBoxText, it works. But if BackgroundWorker1 calls a module that calls SetTextBoxText, it doesn't work.
View 4 Replies
Sep 8, 2010
In main thread I create panel(s) (based on some configuration), and then in the next step based on the file type (like video, ppt, image...) I create appropriate controls (dynamically) to show on the forms.
The creation of the control will be done in separate threads (for each file). After creating the control, it throws an error when I try to add that control to the panel (which was created in the main thread), something like cross thread violation, control was accessed from one thread other that it was created.
Can some one please help me in this regard? In this scenario, everything - creating the panels and controls - will be dynamic. Nothing will be static.I tried some of the articles found here on StackOverflow (like, control.BeginInvoke() .. etc), but wasn't able to solve my problem.
View 2 Replies
Aug 25, 2009
how to access the main ui's labels from a delegate method?
View 7 Replies
Mar 22, 2010
Im trying to do this
[Code]...
But it will just skip to the last status (Label3.Text = "Status: Welcome")
View 7 Replies
Jun 10, 2010
im trying to terminate a threading.thread using thread.abort the thread runs a download connection so is usually in the middle of socket.recieve or socket.send or socket.connect when aborting i just want to terminate the thread no matter what thread.abort raises an MDA excpetion. so i ticked it off in the debug exceptions menu. now it doesnt raise an exception, but the thread simply wont terminate. my program wont close unless i press top in the debugger.i cant pause downloads because i cant terminate the thread this code wasn't working?
Dim vT As Threading.Thread
For Each vT In clsDownloader.DownloadThreads
If Not vT Is Nothing Then
vT.Abort()
[code].....
as for the exception concerning threads being aborted from other threads being dangerous, how is it possible to send a message from a main thread to another thread to abort itself? as far as i know the only way to a abort one thread from another is to just kill it (because i dont know of ways for a thread to communicate with another).
View 2 Replies
Jan 26, 2010
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].....
View 3 Replies
Feb 2, 2010
I want to add a parameter to my thread call here is the code. I want to call th.Start(True, sender.Text) and Count(ByVal isRunning As Boolean) will then become Private Sub Count(ByVal isRunning As Boolean, Byval strID As String), but I can't do that. So how can I make this thread accept 2 parameters?
Private Sub btnStart1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart1.Click
th = New System.Threading.Thread(AddressOf Count)
th.Name = "Button1"
th.Start(True)
[Code] .....
View 4 Replies
Nov 11, 2009
I'm writing a little online game for sport, but my head's gonna explode as I can't figure out why I can't access my forms controls from my clients DoRead() thread.In this procedure I can still obviously access the controls normally.[code]Tried using delegates and invoking, and setting SearchForIllegalCrossThreads false.
View 7 Replies
Jun 2, 2012
I am trying to access a dynamically generated Control from a separate thread. But I am always getting a "Stack Overflow Exception" with my code. I am using following code:
[Code]...
View 1 Replies
Apr 25, 2012
I've got a TCP Listener running on a separate thread. I want to have it log the incoming and outgoing messages in a list on the form instead of in message boxes. I've been reading about multiple threads, and I know there's something extra I need to do because form controls are not thread safe.
Unfortunately I've tried several tutorials on delegates and invoking but it still doesn't seem to insert the log items to the list. I even spent $60 on this Mastering Visual Basic 2010 book to "Build Rich Client and Web Applications with Visual Basic", but there isn't a single chapter on how to handle multiple threads.
View 5 Replies
Sep 20, 2011
[URL]
In my program, I created a list of a class that contains 5 picture boxes, a button, a label, an identifier, and some other stuff. I've got roughly 65 of these in this list. I'd be stupid to hard code all that in. The identifier is a 2nd way of identifying which specific location I'm working on.
Anways, all this is created at compile time. Works perfectly fine.
I then manually start a background worker that pings a collection of components. Based off the success of those pings, the picture boxes are enabled or disabled. Basically a proactive way to see if a collection of devices over multiple locations are actually working.
It's the background worker that fails because of thread-safe calls.
Private Sub bgwStatus_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles bgwStatus.DoWork
Dim status As Integer
[Code].....
View 1 Replies
Oct 7, 2010
I'm firing a thread to unzip a file. I need some way of indicating to the parent that the unzip thread has ended. I've tried raise event in the unzip thread to a sub in the parent but this runs the sub from the unzip thread. With ApartmentState set to STA, so that I could use a save dialog, this was OK until I displayed a messagebox which was hidden behind the main UI(and whatever I did I could not get it to the front).
View 11 Replies
Sep 22, 2011
I have a Windows Forms app that, unfortunately, must make calls to controls from a second thread. I've been using the thread-safe pattern described on the [URL].. Which has worked great in the past.
The specific problem I am having now: I have a WebBrowser control and I'm attempting to invoke the WebBrowser.Navigate() method using this Thread-Safe pattern and as a result I am getting StackOverflow exceptions. Here is the Thread-Safe Navigate method I've written.
[Code]...
View 1 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
Sep 2, 2010
My understanding is that thread.join will suspend the execution of code on the calling thread until the spawned thread finishes or is aborted...
With that in mind, I tried this:
For i = 1 to 50
threads = New Thread(AddressOf test)
threads.IsBackground = True
threads.SetApartmentState(ApartmentState.STA)
[CODE]...
However, the rest of the code runs when the loop finishes, not waiting for all the spawned threads to finish. Since the rest of the code needs the threads to finish (otherwise the rest will error).
View 4 Replies