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

    [C#] modificare form dal thread

    Salve, sto studiando un può il C#, in particolare i Threads di C#, sono riuscito a capire le basi, però non riesco ad arrivarci da solo come è possibile modificare le varie proprietà del form da una funzione che viene eseguita con il thread..
    Qualcuno ha qualche suggerimento? Magari qualche esempio di codice?

    Spero che potete aiutarmi.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    Non puoi cambiare le proprietà del tuo form dalla funzione di callback?

    Qual è l'ostacolo? Non ho capito cos'è che ti dà difficoltà.

  3. #3
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    sai usare i delegate ?? io di solito uso quelli...ed è una soluzione.

  4. #4
    non so usare le delegate, se potete farmi un piccolissimo esempio... pls.

  5. #5
    Ricordo a tutti che tutte le classi che ereditano da System.Windows.Forms.Control non sono thread safe, per cui è sicuro modificarli solo ed esclusivamente dal thread che li ha creati. Il problema non si risolve con i delegate, perché quando si richiama un delegate questo viene comunque eseguito dal thread chiamante.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Originariamente inviato da MItaly
    Ricordo a tutti che tutte le classi che ereditano da System.Windows.Forms.Control non sono thread safe, per cui è sicuro modificarli solo ed esclusivamente dal thread che li ha creati. Il problema non si risolve con i delegate, perché quando si richiama un delegate questo viene comunque eseguito dal thread chiamante.
    E quindi come dovrei risolvere il mio problema?

    NOTA: Il mio thread inizia all'apertura del programma e termina alla chiusura..

  7. #7
    Di solito il modo migliore per evitare questi problemi è aggirarli: a cosa serve esattamente questo thread?
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Originariamente inviato da MItaly
    Di solito il modo migliore per evitare questi problemi è aggirarli: a cosa serve esattamente questo thread?
    fa il parsing di alcuni testi che prende dal db...
    ora vorrei stampare i risultati del parsing in una form, però quì sorge questo problema....

    Non posso evitare i thread, perchè l'utente deve avere la possibilità di fare altre operazioni mentre il programma fa il parsing...

  9. #9
    Nessuno può aiutarmi?

  10. #10
    Il thread fa il parsing e memorizza i risultati da qualche parte (ad esempio in una collection); la variabile che contiene il riferimento al thread viene messa a livello di classe, e di tanto in tanto (tramite un thread) l'altro thread controlla se esso è terminato, nel qual caso visualizza i risultati nel form.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.