Torna indietro   Hardware Upgrade Forum > Software > Programmazione

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: ecco il nuovo sistema mesh di Huawei
HUAWEI WiFi Mesh X3 Pro Suite è probabilmente il router mesh più fotogenico che si possa acquistare oggi in Italia, ma dietro il guscio in acrilico trasparente e le luci LED dinamiche c'è una macchina tecnica costruita attorno allo standard Wi-Fi 7, con velocità teoriche Dual-Band fino a 3,6 Gbps e una copertura fino a 120 m² una volta abbinato il router principale all'extender incluso nel kit
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: Intel cerca il riscatto ma ci riesce in parte
Abbiamo provato le nuove CPU Intel Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: più core e ottimizzazioni al funzionamento interno migliorano le prestazioni, anche in virtù di prezzi annunciati interessanti. A questo si aggiungono nuove ottimizzazioni software. Purtroppo, a fronte di prestazioni di calcolo elevate, il quadro rimane incerto nel gaming, dove l'andamento rimane altalenante. Infine, rimane il problema della piattaforma a fine vita.
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
Il modello "build to order" di PCSpecialist permette di selezionare una struttura base per un sistema, personalizzandolo in base alle specifiche esigenze con una notevole flessibilità di scelta tra i componenti. Il modello Lafité 14 AI AMD è un classico notebook clamshell compatto e potente, capace di assicurare una elevata autonomia di funzionamento anche lontano dalla presa di corrente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-04-2009, 16: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, 18: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, 20: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, 20: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, 20: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, 23: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, 01: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, 02: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, 09: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, 11: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, 11: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, 11: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, 11: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, 13: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, 13: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


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:...
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto Recensione Nothing Phone 4(a): sempre iconico ma...
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale Corsair Vanguard Air 99 Wireless: non si era mai...
AGCOM ordina i primi blocchi DNS di siti...
Google risolve il problema della memoria...
Un altro colpo alle auto elettriche: Pan...
Core Ultra 9 290K Plus: Intel conferma c...
Addio connettori fusi? MSI promette di f...
Basta brani fake su Spotify: la nuova fu...
OPPO Find X9 Ultra: come funziona il riv...
Prezzo diverso per giochi digitali e fis...
DDR5 32GB a meno di 340€: le Corsair Ven...
Harry Potter: HBO pubblica il primo trai...
Android 17 Beta 2 si allarga: la lista c...
RDNA 4m: AMD evolve RDNA 3.5 con AI e FS...
Sunseeker ha un mostro per i Pro e un'in...
Storica sentenza negli USA: Meta e Googl...
Musica generativa, arriva Lyria 3 Pro: o...
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: 14:28.


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