Oppure

Loading
18/02/17 12:43
TheDarkJuster
Come faresti se non fosse nella lista?
aaa
18/02/17 13:22
CodeHelp
Farei label.(qualcosa)
Ma il punto è che non me lo fa fare dalla lista.
Per esempio se faccio : lista[3].visible=false;
Mi da errore.
Vorrei sapere come fare questo grazie.
aaa
18/02/17 15:06
pierotofy
CodeHelp, posta il codice (completo) che stai cercando di eseguire.
Il mio blog: piero.dev
18/02/17 15:37
CodeHelp
Ecco l'esempio di codice:
List <Object> oggetti = new List<object>();
oggetti.add(label1);
If(oggetti[0].Visible==true){}
Mi da errore su visible
aaa
18/02/17 15:51
pierotofy
Siccome la lista viene dichiarata di tipo Object, e Object non ha una proprieta' Visible, il compilatore ritorna (giustamente) un errore.

Object o = new Object();
o.Visible = true; // Errore


Ma tu stai inserendo oggetti di tipo Label, che derivano da Object, quindi dovrebbero avere la prorieta' Visible giusto?

Si, ma devi dare un'aiutino al compilatore, dicendogli esplicitamente che anche se la tua lista contiene oggetti di tipo Object, in verita' sono di tipo Label, tramite un cast esplicito.

if (((Label)oggetti[0]).Visible == true){} // tutto OK


L'espressione "(Label)oggetto" vuol dire, tratta "oggetto" come un "Label".

p.s. quando scrivi un'espressione booleana di uguaglianza, non serve scrivere:

if (valore == true) // ...


Basta scrivere:

if (valore) // ...
Ultima modifica effettuata da pierotofy 18/02/17 15:56
Il mio blog: piero.dev
18/02/17 16:00
CodeHelp
Grazie!
Per la variabile booleana lo sapevo già, ma l'ho scritto per evitare fraintendimenti!:asd:
aaa
18/02/17 16:12
CodeHelp
Ah un'altra cosa , al posto di fare

oggetti.add(label1);
oggetti.add(label2);
oggetti.add(label3);
Ecc..
Visto che dovrei mettere 300 label mi chiedevo se utilizzare addrange al posto di add mi sarebbe tornato utile.... E se si, come faccio ad aggiungere una raccolta di label??? Serve un elemento grafico particolare?
aaa
18/02/17 16:41
pierotofy
Apri un'altra discussione.
Il mio blog: piero.dev