Ho problemi a elaborare l'architettura corretta per la seguente attività. Ho una GUI in Windows Form che contiene un ListBox
, che elenca alcuni layout architettonici. Un elemento in questo elenco è selezionato, un% personalizzatoControl
visualizza una visualizzazione interattiva del layout selezionato. Il disegno di questo diagramma interattivo è un compito che richiede molta CPU e può richiedere fino a un secondo sulla mia macchina.
Il tipo di funzionalità che sto cercando di ottenere è che se un utente desidera scorrere rapidamente i layout in ListBox
(ad esempio, tenendo premuto il tasto freccia giù), non voglio che il mio computer sieda Pensando a come disegnare il layout prima che consenta all'utente di fare qualsiasi altra cosa.
Ovviamente la risposta è, ovviamente, per eseguire i calcoli del layout in un thread separato. Ma come faccio a rendere quel thread un controllo completo? Come faccio a essere sicuro di non eseguire due calcoli di layout contemporaneamente?
Sono abbastanza nuovo in questa complessa attività della GUI. Quindi la vera domanda è qual è l'architettura giusta per implementare qualcosa di simile? Sembra che le persone lo facciano sempre, ma trovare qualche suggerimento su come farlo correttamente è davvero difficile.