none
Mudar o cursor do mouse no codigo de uma thread separada RRS feed

  • Pergunta

  • segue um exemplo do que preciso fazer 

        Private Sub SaveSdkData()
            ThreadVerifyHostIP = New Thread(New ThreadStart(AddressOf VerifyHostIP))
            ThreadVerifyHostIP.SetApartmentState(ApartmentState.MTA)
            ThreadVerifyHostIP.IsBackground = True
            ThreadVerifyHostIP.Start()
            Me.Cursor = Cursors.WaitCursor
    
        End Sub
        Private Sub VerifyHostIP()
            Dim Command As LogicStore
            Try
                Command = New LogicStore
                HostIP = Command.VerifyHostIP(TxtCurrentServerHost.Text)
                TxtCurrentExternalIP.BeginInvoke(New Action(AddressOf InsertingHostIP))
            Catch ex As Exception
                Command = New LogicStore
                Me.Cursor = Cursors.Default
                If Command.VerifyInternetAccess = 1 Then
                    MsgBox("Server host name invalid", MsgBoxStyle.Exclamation, "SDK Data")
                Else
                    MsgBox("Without internet access", MsgBoxStyle.Exclamation, "SDK Data")
                End If
            End Try
        End Sub
        Private Sub InsertingHostIP()
            If HostIP = "::1" Then
                TxtCurrentExternalIP.Text = "localhost"
            Else
                TxtCurrentExternalIP.Text = HostIP
            End If
            Me.Cursor = Cursors.Default
            MsgBox("Data changed with success !", MsgBoxStyle.Information, "Sdk Data")
        End Sub

    sempre gerao erro falando que n posso mudar o cursor pois ele esta em uma thread diferente,

    alguem sabe como resolver isso 

    sem usar o checkforillegalcrossthread

    desde ja grato pela atenção


    AleSaggiorato

    terça-feira, 19 de fevereiro de 2013 06:37