Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [c#]Interfacce grafiche ed invoke

    Ciao,
    Sto programmando in c# da non molto tempo e sto familiarizzando solo da poco con le interfacce grafiche.
    Nello specifico ho scoperto che se devo modificare l'interfaccia grafica da un thread differente devo usare gli invoke in quanto i componenti delle interfaccie non sono thread-safe. (spero di no naver detto cavolate).
    La mia domanda č: se ho molti elementi grafici da gestire devo controllare l'invoke su ciasuno di essi?? non c'e un modo piu agevolo di programmare/progettare il tutto?
    Faccio un esempio, mettiamo che io devo modificare una decina (ho esagerato un po) di elementi grafici x volta nel mio metodo dovrei avere 10 if(oggetto.invokeRequired) con reltiva invoke del delegate?
    Qualcuno mi sa poi suggerire una guida su come programmare con le interfaccie grafiche, proprio per capire situazioni come queste??

    Grazie in anticipo
    "Vivi come se dovessi morire domani, pensa come se nn dovessi morire mai"

    "Solo i coraggiosi arrivano lā dove neanche gli angeli riescono a volare"

  2. #2
    L'Invoke del delegate che si occuperebbe del cross-thread, puō essere fatto da un qualsiasi oggetto gestito dallo stesso thread che gestisce gli oggetti interessati alle "modifiche"(per esempio il Form contenitore) ..... non č necessario che lo faccia l'oggetto interessato al cambiamento.
    Spero di essere stato chiaro.
    Facci sapere...
    Ciao

  3. #3
    OK, percio potrei fare anche this.invokeRequired dove this rappresenta il Form che contiene gli oggetti in questione?

    Se č cosi sei stato chiarissimo e mi ha risolto un bel dubbio.

    Grazie mille!!
    "Vivi come se dovessi morire domani, pensa come se nn dovessi morire mai"

    "Solo i coraggiosi arrivano lā dove neanche gli angeli riescono a volare"

  4. #4
    Si esatto.....perchč la cosa importante č passare il compito al thread "proprietario"(passami il termine) degli oggetti.
    Ciao

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 © 2026 vBulletin Solutions, Inc. All rights reserved.