Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marathon: arriva il Fortnite hardcore
Marathon: arriva il Fortnite hardcore
Marathon è il titolo multiplayer competitivo del momento. Ecco quali sono le caratteristiche di gioco principali, insieme alle nostre prime considerazioni dopo qualche "run" nell'extraction shooter di Bungie
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
A New York HP ha messo al centro della scena HP IQ, la piattaforma di IA locale da 20 miliardi di parametri. L’abbiamo vista in funzione: è uno strumento che funziona, pensato per un target specifico, con vantaggi reali e limiti altrettanto evidenti
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
La PNY GeForce RTX 5080 Slim OC si distingue nel panorama delle GPU di fascia alta per il design compatto a due slot, ispirato alla NVIDIA GeForce RTX 5080 Founders Edition. In questo test analizziamo comportamento termico e prestazioni in gioco, valutando se il formato ridotto comprometta o meno l'esperienza complessiva rispetto alle soluzioni più ingombranti presenti sul mercato.
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: 4907
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: 4907
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: 4907
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


Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è PNY RTX 5080 Slim OC, sembra una Founders Editio...
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
GeForce RTX 3080 raffreddata con un diss...
Proofpoint mette in sicurezza gli agenti...
Annunci falsi su Bakeca con dati veri di...
Attenzione alla truffa dell'assegno di A...
Addio al mito delle batterie a stato sol...
400 milioni e un obiettivo ambizioso: Re...
TCL 2026: la tecnologia SQD-Mini LED arr...
Gli aggiornamenti arriveranno, ma non si...
Monopattini elettrici: addio "Far W...
Mistral AI raccoglie 830 milioni di doll...
Hacker iraniani di Handala violano la Gm...
Chi è Eddie Dalton: il cantante d...
OVHcloud mette l'Italia al centro della ...
Zeekr 007 GT sold out in Cina, si passa ...
Hisense QLED 4K da 98'' e 85'' con 144Hz...
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: 18:12.


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