Il problema è il seguente.
Vorrei impostare le proprietà dei controlli contenuti nei form dell'applicazione attraverso un ciclo come il seguente.

codice:
           
For Each c As Control In RicercaControlliFiglio(Form)
           
   If TypeOf c Is Button Then
          
               (c, Button).FlatStyle = CType(DV(0).Item(5).ToString, Integer)
                     
   End if

Next
Il ciclo (molto semplificato) viene eseguito per ogni form dell'applicazione ma se avviando direttamente da una routine funziona tutto alla perfezione, se avvio tramite un Thread non viene generata nessuna eccezione ma le proprietà non vengono modificate.

Il thread viene avviato nel modo seguente

codice:
    Public Sub ThreadModificaProp ()

        Try

                'controlliamo se il thread è in esecuzione "per non lanciare una seconda copia"
                If Not (ThModificaProp Is Nothing) AndAlso ThModificaProp .IsAlive Then

                    'avviso utente
                 
                Else

                    ThModificaProp = New Thread(AddressOf MiaRoutineCiclo)

                    ThModificaProp .SetApartmentState(ApartmentState.STA)

                    'imposta un nome
                    ThModificaProp .Name = "ThModificaProp "

                    'lanciamo il thread
                    ThModificaProp .Start()

                End If

            Else

            End If

        Catch ex As Exception

            MsgBox(Err.Description.ToString)    'Gestione Errore

        End Try
in fase di avvio dell'applicazione viene richiamata la routine 'ThreadModificaProp'
ma niente.

Se avete consigli o bisogno di ulteriori informazioni, fatemi sapere