Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    42

    [C#] Thread concorrenti e Windows form

    Ciao a tutti. Ho realizzato una semplice applicazione che permette di inviare e ricevere messaggi alla porta seriale attraverso una Windows form (serve per testare degli azionamenti).
    Mi è stato chiesto di aggiungere una funzionalità che periodicamente (tipo una o due volte al minuto) inviii una richiesta alla seriale per sapere quanta corrente stanno assorbendo i motori, visualizzi la risposta ottenuta in una textbox della Windows form e ne salvi i contenuti in un file excel.
    Lasciando perdere per ora il file excel, con il quale mi picchierò poi, ho trovato difficoltà nel realizzare un sistema per la richiesta periodica sulla seriale. Avevo pensato a un thread concorrente fatto partire al momento dell'avvio dei motori, ma non sono riuscito a trovare un modo per creare un thread che veda i componenti della windows form. Sbaglio completamente idea di partenza? Avete idee per aiutarmi?

    Grazie mille

  2. #2
    Puoi semplcemente creare un thread separato che esegue un loop anche ogni secondo senza influire sull'esecuzione della tua applicazione


    VB
    dim newthread as threading.thread

    private sub FormLoad handles Me.Load
    newthread= new threading.thread(addressof LeggiSeriale)
    newthread.start
    End Sub

    private sub LeggiSeriale
    do
    'leggo la seriale
    threading.thread.sleep(60000)'aspetto un minuto
    loop
    EndSub

    C#
    System.Threading.Thread newthread;
    private void Form1_Load(object sender, EventArgs e)
    {
    newthread = new System.Threading.Thread(LeggiSeriale);
    newthread.Start;
    this.Text = Environment.NewLine;
    }

    private void LeggiSeriale
    {
    //leggo Label seriale
    }

    Ovviamente, per l'accesso alle proprietà degli oggetti della Windows Form devi ricorrere all'utilizzo dei Delegate..

    Se hai bisogno di più info ...fatti sentire

    Ciao..

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    42
    Grazie mille (e scusa se avevo postato il topic nella sezione sbagliata).

    Riusciresti mica a postarmi un esempio in pseudo codice (come quelli che mi ha scritto) su come usare i delegate per accedere ai membri della window form?

    grazie infinite di nuovo

  4. #4
    Prova a dare un'occhiata qui
    http://msdn.microsoft.com/it-it/library/900fyy8e(VS.80).aspx
    Per la spiegazione dei delegate...guarda questo mio post..
    http://www.dotnethell.it/forum/messa...ThreadID=27911
    se non ti è chiaro fatti sentire...

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