Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Buona sera a tutti, avrei bisogno del vostro aiuto su di un progetto che sto creando. Il progetto consiste nell utulizzo di arduino uno e vb.net. il progetto consisye nel collegare arduino uno e farlo funzionare tramite vb.net, in tutto questo ho creato un form che sarebbe il monitor seriale per ricevere le informazioni, ah, insieme ad arduino è collegato anche un ethernet shield, adesso io avrei bisogno che quando ricevo una determinata scritta nella richtextbox cambiasse un immagine tipo un puntino da rosso a verde e viceversa, come posso fare? Grazie mille a tutti
RichTextBoxSignal ereditando il controllo RichTextBox
C'è un piccolo particolare però.
Lo dico anche per chi legge il topic.
Diversamente dagli altri controlli, che basta impostare il DrawMode su Variable o Fixed
il RichTextBox funziona in maniera differente.
Impostando anche esempio
Codice sorgente - presumibilmente Plain Text
SetStyle(ControlStyles.UserPaint, true);
Abilitiamo si la possibilità di fare un override al metodo paint,
Ma le coordinate sono relative al Cursor e non al controllo stesso.
Quindi dà un bel pò di noie.
La soluzione e andare direttamente sul WndProc
Per questo motivo ho deciso di scriverti completamente il codice altrimenti non ne vieni a capo.
using (Graphics g = Graphics.FromHwnd(this.Handle))
{
//Metodo Paint
switch(SIGNALS)
{
case SIGNAL.NULL:
break;
case SIGNAL.ON:
g.FillRectangle(Brushes.Green, new Rectangle(5, ClientRectangle.Height- 25, 20, 20));
break;
case SIGNAL.OFF:
g.FillRectangle(Brushes.Red, new Rectangle(5, ClientRectangle.Height- 25, 20, 20));
break;
}
}
}
else
{
base.WndProc(ref m);
}
}
Inserendo nel tuo form questo controllo e non il RichTextBox standar,
Andando sulle proprietà troverai un campo chiamato SIGNALS
Impostandolo su true, ottieni un rettangolino verde in basso a sinistra, False uno rosso.
Ho disegnato un rettangolo ma puoi mettere quello che ti grada.
anche un immagine volendo.
Se invece volevi far lampeggiare anche l'indicatore basta aggiungere qualche riga
eccoti il codice completo con il rettangolo che lampeggia
grazie mille per tutto quanto, però oltre a non aver capito niente non so se fa a caso mio, nel senso, come mostra l'immagine io avrei bisogno di far camiare l immagine della picturebox2 da led_off a led_on, quando nella richtextbox si riceve il comando "GET /?light2on HTTP/1.1" il led diventa verde e quando riceve il comando "GET /?light2off HTTP/1.1 il led diventa rosso.
a sinistra metti il codice C# a destra lo converte in vb.net
Per quanto riguarda il resto, se spiegavi correttamente,
mi evitavi un inutile fatica....
Non hai scritto che hai bisogno di interpretare una stringa
ma di accendere un segnalino cosa al quanto differente...
Non si può interpretare una spiegazione criptata.
Ma sarebbe utile se quando si chiede supporto su un determinato problema
venisse spiegato tutto il più chiaro possibile.
Testo quotato
Buona sera a tutti, avrei bisogno del vostro aiuto su di un progetto che sto creando. Il progetto consiste nell utulizzo di arduino uno e vb.net. il progetto consisye nel collegare arduino uno e farlo funzionare tramite vb.net, in tutto questo ho creato un form che sarebbe il monitor seriale per ricevere le informazioni, ah, insieme ad arduino è collegato anche un ethernet shield, adesso io avrei bisogno che quando ricevo una determinata scritta nella richtextbox cambiasse un immagine tipo un puntino da rosso a verde e viceversa, come posso fare? Grazie mille a tutti
mi dispiace se non si è capito ma io ho scritto che ho creato un form che farebbe da monitor seriale e che al ricevere di una determinata scritta nella richtextbox dovrebbe cambiarmi un immagine tipo un puntino da rosso a vede e viceversa, cmq
grazie mille