05/08/10 21:12
mb72
volevo creare un semplice thread:
una form con un pulsante ed una textbox.
nella form.load faccio partire il thread che deve in continuazione scrivere nella text box una volta aloha ed una volta ciaociao.....
il problema e' che viene generato l'errore in esecuzione Operazione cross-thread non valida: è stato eseguito l'accesso al controllo 'TextBox1' da un thread diverso da quello da cui è stata eseguita la creazione.
questo e' il codice sorgente che ho scritto.dove ho sbagliato????
Imports System.Threading
Public Class Form1
Private mautread As Thread
Public flag As Integer = 0
Private Sub MioThread()
Do
If flag = 0 Then
TextBox1.Text = "aloha"
flag = 1
ElseIf flag = 1 Then
TextBox1.Text = "ciaociao"
flag = 0
End If
Thread.Sleep(100)
Loop
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
mautread = New Thread(AddressOf MioThread)
mautread.IsBackground = True
mautread.Start()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MsgBox("premuto pulsante !!!!!!!"
End Sub
End Class
una form con un pulsante ed una textbox.
nella form.load faccio partire il thread che deve in continuazione scrivere nella text box una volta aloha ed una volta ciaociao.....
il problema e' che viene generato l'errore in esecuzione Operazione cross-thread non valida: è stato eseguito l'accesso al controllo 'TextBox1' da un thread diverso da quello da cui è stata eseguita la creazione.
questo e' il codice sorgente che ho scritto.dove ho sbagliato????
Imports System.Threading
Public Class Form1
Private mautread As Thread
Public flag As Integer = 0
Private Sub MioThread()
Do
If flag = 0 Then
TextBox1.Text = "aloha"
flag = 1
ElseIf flag = 1 Then
TextBox1.Text = "ciaociao"
flag = 0
End If
Thread.Sleep(100)
Loop
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
mautread = New Thread(AddressOf MioThread)
mautread.IsBackground = True
mautread.Start()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MsgBox("premuto pulsante !!!!!!!"
End Sub
End Class
aaa