Torna indietro   Hardware Upgrade Forum > Software > Programmazione

TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita
TCL P80 Ultra abbina per la prima volta un pannello AMOLED alla tecnologia NXTPAPER con finitura opaca, affiancandoci una fotocamera periscopica da 50 MP con zoom ottico 3x, il SoC Dimensity 7400 Elite e una batteria da 5.800 mAh. Nella prova sul campo emergono luminosità di picco molto elevata, comparto fotografico solido per la fascia di prezzo e autonomia nella media, a fronte di velocità di scrittura dello storage piuttosto contenute
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air combina diverse carte molto interessanti: un OLED PaperMatte da 12 pollici, un corpo sottile e una tastiera molto comoda. Durante la prova abbiamo apprezzato fluidità, audio e comfort visivo, mentre i test hanno chiarito pregi e qualche limite nelle prestazioni. L'autonomia ha convinto anche nell'uso intermittente; la scelta passa dalla compatibilità delle proprie app e dal valore del pacchetto con accessori, proposto a 749 euro
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
Debuttano ufficialmente i primi sistemi notebook basati su piattaforma NVIDIA RTX Spark, abbinati a Windows on ARM e pensati per l'intelligenza artificiale agentica. Architettura integrata tra CPU e GPU che condividono la memoria di sistema, capace di gestire in locale modelli molto grandi ma al contempo anche di spiccare con la grafica e l'elaborazione
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-04-2009, 15:33   #1
Napalm
Senior Member
 
L'Avatar di Napalm
 
Iscritto dal: May 2000
Messaggi: 1135
[C#]Cambiare colore di sfondo form a mò di lampeggio

Salve,

devo cambiare colore di sfondo di un form (windows mobile 2003) in modo che emulasse un lampeggio, cioè passare da colore bianco a rosso dopo un tot di millisecondi. Ho un oggetto timer che ogni secondo esegue un operazione:

Codice:
this.BackColor = System.Drawing.Color.Red;
Thread.Sleep(100);
this.BackColor = System.Drawing.Color.White;
e noto che il colore non cambia o meglio il colore diventa quello indicato dopo lo sleep e non si vede l'effetto lampeggio.
Dove ho sbagliato?

NapalM
__________________
Quote:
Originariamente inviato da trallallero Guarda i messaggi
Gli anti-fascisti, quelli fascisti coi fascisti, "i diversamente fascisti" (cit. "Napalm"), non meritano il mio rispetto
Napalm è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2009, 17:34   #2
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
No, hai già un Timer, che te ne fai dello Sleep ?

Codice:
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (this.BackColor == System.Drawing.Color.Red){
                this.BackColor = System.Drawing.Color.White;
            }
            else {
                this.BackColor = System.Drawing.Color.Red;
            }
        }
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2009, 19:19   #3
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4908
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
No, hai già un Timer, che te ne fai dello Sleep ?

Codice:
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (this.BackColor == System.Drawing.Color.Red){
                this.BackColor = System.Drawing.Color.White;
            }
            else {
                this.BackColor = System.Drawing.Color.Red;
            }
        }
Perché usi il this?
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2009, 19:39   #4
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
io lo uso sempre quando sto usando membri della classe, form o page che sia. Così distinguo facilmente tra membri e variabili locali.
Kralizek è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2009, 19:42   #5
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4908
Quote:
Originariamente inviato da Kralizek Guarda i messaggi
io lo uso sempre quando sto usando membri della classe, form o page che sia. Così distinguo facilmente tra membri e variabili locali.
Boh, a me sembra ridondante.
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2009, 22:20   #6
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
In linea di massima sono d'accordo con Kralizek ( sei uno dei pochi che mi capisce ). In questo caso il motivo era semplicemente riutilizzare il codice di Napalm e far notare le uniche differenze con il mio.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 04-04-2009, 00:26   #7
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
Quote:
Originariamente inviato da ||ElChE||88 Guarda i messaggi
Boh, a me sembra ridondante.
Quando si lavora in un team ogni ridondanza può aiutare gli altri a capire il tuo codice. Un po' come l'indentatura ed i commenti (quando non sono scritti in svedese, scorretto tra l'altro )

Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
In linea di massima sono d'accordo con Kralizek ( sei uno dei pochi che mi capisce ).
Altro motivo per cui sono abituato ad usare la keyword this è perchè gioco molto con la derivazione, polimorfismo e generics. con this e base sai sempre esattamente quale metodo stai chiamando.

Un esempio pratico:

Codice:
public class MiaLista : List<MioOggetto>
{
    public new void Add(MioOggetto item)
    {
        if (item.Proprieta1.Length > 0)
            Add(item);
    }

    public void Add(string proprieta1, int proprieta2, bool proprieta3)
    {
        MioOggetto item = new MioOggetto ( proprieta1, proprieta2, proprieta3);
        Add(item);
    }

    ...
}
Nel primo metodo se non specifico "base" do luogo ad uno StackOverflow, nel secondo, se non specifico "this", non è intuitivo capire cosa sto chimando.

Insomma, 5 caratteri in più non guastano ed aiutanto tanto la comprensione tua quanto quella di altri.
Kralizek è offline   Rispondi citando il messaggio o parte di esso
Old 04-04-2009, 01:36   #8
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4908
Quote:
Originariamente inviato da Kralizek Guarda i messaggi
Quando si lavora in un team ogni ridondanza può aiutare gli altri a capire il tuo codice. Un po' come l'indentatura ed i commenti (quando non sono scritti in svedese, scorretto tra l'altro )
Questo lo so... sono all'università e già vedo codice mal scritto, pieno di commenti inutili dappertutto (il top è uno che scrive i commenti, i metodi e le variabili in gaelico... ).
Quote:
Originariamente inviato da Kralizek Guarda i messaggi
Nel primo metodo se non specifico "base" do luogo ad uno StackOverflow, nel secondo, se non specifico "this", non è intuitivo capire cosa sto chimando.
Sisi, ma in questo caso il base è una scleta obbligata.
Quote:
Originariamente inviato da Kralizek Guarda i messaggi
Insomma, 5 caratteri in più non guastano ed aiutanto tanto la comprensione tua quanto quella di altri.
In effetti non sembra stupido... soprattutto se usato nelle Forms. Ci farò un pensierino.
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 04-04-2009, 08:43   #9
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Cmq, Napalm, aumenta anche l'intervallo del Timer. 100 msec sono da mal di testa !
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 04-04-2009, 10:06   #10
Napalm
Senior Member
 
L'Avatar di Napalm
 
Iscritto dal: May 2000
Messaggi: 1135
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
No, hai già un Timer, che te ne fai dello Sleep ?

Codice:
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (this.BackColor == System.Drawing.Color.Red){
                this.BackColor = System.Drawing.Color.White;
            }
            else {
                this.BackColor = System.Drawing.Color.Red;
            }
        }
mhmh non se pole, nel senso non è quello che vorrei fare io: il timer ha uno tick di 1 sec quindi in pratica rimarrebbe colorato per 1 secondo di rosso poi diventerebbe bianco ecc.. nella tua soluzione mentre io vorrei che fosse proprio un lampeggio di 100 msec e basta (questo perché il timer deve obbligatoriamente avere un tick di 1 sec)
Teoricamente dovrei aver trovato la soluzione: un timer nel timer e via
Grazie

NapalM
__________________
Quote:
Originariamente inviato da trallallero Guarda i messaggi
Gli anti-fascisti, quelli fascisti coi fascisti, "i diversamente fascisti" (cit. "Napalm"), non meritano il mio rispetto
Napalm è offline   Rispondi citando il messaggio o parte di esso
Old 04-04-2009, 10:09   #11
Napalm
Senior Member
 
L'Avatar di Napalm
 
Iscritto dal: May 2000
Messaggi: 1135
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Cmq, Napalm, aumenta anche l'intervallo del Timer. 100 msec sono da mal di testa !
ihih si ma tanto dura solo 5 secondi, ed è un segnale visivo perché l'utente potrebbe essere distante dal palmare (infatti è accoppiato ad un segnale audio)

NapalM
__________________
Quote:
Originariamente inviato da trallallero Guarda i messaggi
Gli anti-fascisti, quelli fascisti coi fascisti, "i diversamente fascisti" (cit. "Napalm"), non meritano il mio rispetto
Napalm è offline   Rispondi citando il messaggio o parte di esso
Old 04-04-2009, 10:29   #12
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da Napalm Guarda i messaggi
mhmh non se pole, nel senso non è quello che vorrei fare io: il timer ha uno tick di 1 sec quindi in pratica rimarrebbe colorato per 1 secondo di rosso poi diventerebbe bianco ecc.. nella tua soluzione mentre io vorrei che fosse proprio un lampeggio di 100 msec e basta (questo perché il timer deve obbligatoriamente avere un tick di 1 sec)
Teoricamente dovrei aver trovato la soluzione: un timer nel timer e via
Grazie

NapalM
Ma, scusa eh, nessuno ti vieta di fare tutto nello stesso identico Timer.
Imposti l'intervallo ad esempio a 100ms, e fai gestire il cambio di colore ogni 100 ms.
Per tutto il resto ( codice da eseguire ogni secondo = 1000 msec ) basta che crei un contatore esterno ( variabile privata a livello di Form ), e quando raggiunge un multiplo di 10 ( 10x100 ms = 1 sec ), lo esegue.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2009, 10:43   #13
Napalm
Senior Member
 
L'Avatar di Napalm
 
Iscritto dal: May 2000
Messaggi: 1135
Ciao Marco, la tua soluzione è possibile ma riflettendoci sopra ho creato una classe generica dove gli passo l'oggetto, quanti "lampeggi", tempo fra i "lampeggi" e colore da inserire in modo da poterlo riutilizzare in altre cose

NapalM
__________________
Quote:
Originariamente inviato da trallallero Guarda i messaggi
Gli anti-fascisti, quelli fascisti coi fascisti, "i diversamente fascisti" (cit. "Napalm"), non meritano il mio rispetto
Napalm è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2009, 12:43   #14
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Niente da ridire, il codice riutilizzabile è sempre la scelta migliore.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2009, 12:52   #15
Napalm
Senior Member
 
L'Avatar di Napalm
 
Iscritto dal: May 2000
Messaggi: 1135
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Niente da ridire, il codice riutilizzabile è sempre la scelta migliore.
giusto, grazie mille cmq per la consulenza

NapalM
__________________
Quote:
Originariamente inviato da trallallero Guarda i messaggi
Gli anti-fascisti, quelli fascisti coi fascisti, "i diversamente fascisti" (cit. "Napalm"), non meritano il mio rispetto
Napalm è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita TCL P80 Ultra: con un display AMOLED opaco &egra...
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio HUAWEI MatePad Air recensione: OLED opaco e tast...
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica NVIDIA RTX Spark: il PC Windows on ARM costruito...
Motorola razr fold, dalla conchiglia al formato a libro. La recensione Motorola razr fold, dalla conchiglia al formato ...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
CrowdStrike mette l’IA contro l’IA: un m...
SAP NOW AI Tour, l'impresa autonoma pass...
Amazon Luna arriva su Prime Video: cloud...
HomeView, Apple pensa già al braccio rob...
Foto reale scartata come fake: Truebees ...
Jim Keller accelera su RISC-V e intellig...
Tutte le migliori offerte Amazon di oggi...
La bancarotta di Character.AI diventa un...
SanDisk Extreme da 128 GB a 31,96€ su Am...
Termoventilatori Dreo e Philips in offer...
Una ASUS ROG Astral RTX 5090 come regalo...
iPad Air 11'' M4 a 999€ con 256 GB su Am...
Sony WH-CH530 su Amazon a 49,90€ in tutt...
OpenCode colpito da un attacco di distil...
Mercedes-AMG GT SUV: da 0 a 100 in 2,5 s...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:47.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v