|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
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; Dove ho sbagliato? NapalM |
|
|
|
|
|
#2 |
|
Senior Member
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;
}
}
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 4907
|
Quote:
|
|
|
|
|
|
|
#4 |
|
Senior Member
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.
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 4907
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
In linea di massima sono d'accordo con Kralizek ( sei uno dei pochi che mi capisce
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
|
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:
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);
}
...
}
Insomma, 5 caratteri in più non guastano ed aiutanto tanto la comprensione tua quanto quella di altri. |
|
|
|
|
|
|
#8 | |||
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 4907
|
Quote:
Quote:
Quote:
|
|||
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Cmq, Napalm, aumenta anche l'intervallo del Timer. 100 msec sono da mal di testa !
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: May 2000
Messaggi: 1135
|
Quote:
Teoricamente dovrei aver trovato la soluzione: un timer nel timer e via Grazie NapalM |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: May 2000
Messaggi: 1135
|
Quote:
NapalM |
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
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. |
|
|
|
|
|
|
#13 |
|
Senior Member
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 |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Niente da ridire, il codice riutilizzabile è sempre la scelta migliore.
|
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: May 2000
Messaggi: 1135
|
Quote:
NapalM |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:46.




















