Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di ivny
    Registrato dal
    Sep 2009
    Messaggi
    24

    [VB.Net] Multithreading e controlli Windows Form

    Salve a tutti,
    sono un neofita dell'ambiente .Net e di Visual Basic, e sto avendo un piccolo problema nello sviluppo di un'applicazione:
    nel programma, ho un'interfaccia che visualizza le informazioni e un loop infinito che viene eseguito in un thread a parte che si occupa di eseguire calcoli e operazioni di continuo.
    In alcune occasioni, il thread deve modificare alcune variabili globali i cui valori vengono visualizzati nella finestra principale.
    Per fare tutto cio' facilmente e alla svelta, ho pensato di inserire nelle classi da visualizzare degli eventi che si attivano ogni volta che un valore specifico viene modificato, notificando cio' ai Control del caso, che autonomamente modificano la propria schermata.
    Pensavo che utilizzando gli eventi, il thread secondario si occupasse soltanto di far partire la notifica e il Form principale di modificare le Label, dato che il codice che le riscrive e' scritto all'interno del Form stesso, ma non e' cosi' e ogni volta che una variabile viene modificata, il programma crasha e parte una InvalidOperationException dovuta ad operazioni Cross-Thread.

    Qualcuno sa consigliarmi, dirmi se la strada che ho preso e' corretta a meno di qualche piccola correzione o se devo rifare tutto?
    Grazie mille!

  2. #2
    Per effettuare chiamate thread-safe a controlli Windows Form si usano i delegati:

    https://msdn.microsoft.com/it-it/lib...or=-2147217396

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.