Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
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.
Siccome la lista viene dichiarata di tipo Object, e Object non ha una proprieta' Visible, il compilatore ritorna (giustamente) un errore.
Codice sorgente - presumibilmente C# / VB.NET
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.
Codice sorgente - presumibilmente C# / VB.NET
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:
Codice sorgente - presumibilmente C# / VB.NET
if (valore == true) // ...
Basta scrivere:
Codice sorgente - presumibilmente C# / VB.NET
if (valore) // ...
Ultima modifica effettuata da pierotofy il 18/02/2017 alle 16:56
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?