Array di controlli dinamico

venerdì 10 luglio 2009 - 09.55

redsoft Profilo | Newbie

Un ciao a tutti.
E' inutile dire che sono alle prime armi con il mondo .net (arrivo dal VB6).
Mi sono scontrato con la creazione di array di controlli runtime, ho fatto così:

public partial class frmMain : Form
{
Label[] lab;
..........................
private void frmMain_Load(object sender, EventArgs e)
{
// inizializzo l'array
lab = new Label[5];
for (i = 0; i < lab.Length; i++)
{
tabPage1.Controls.Add(this.lab[i]);
lab[i] = new Label();
lab[i].Text = "pippo";
lab[i].Location = new Point(205 - (i * 34), 145 + (i * 59));
lab[i].Size = new Size(400, 81);
lab[i].Visible = true;
}


C'è un piccolo problema: senza che venga generato un errore i controlli creati non sono visibili.

Grazie ciao

Jeremy Profilo | Guru

Ciao.
Probabilmente perchè aggiungi il riferimento presente in lab[i] alla collection controls prima di averne creato un'istanza.
Ad ogni modo, io semplificherei il codice in questo modo:
public partial class frmMain : Form { private void frmMain_Load(object sender, EventArgs e) { // inizializzo l'array for (i = 0; i < 5; i++) { Label tempLab = new Label; tempLab .Text = "pippo"; tempLab .Location = new Point(205 - (i * 34), 145 + (i * 59)); tempLab .Size = new Size(400, 81); tempLab .Visible = true; tabPage1.Controls.Add(tempLab); }

Se neanche così funziona .... allora il problema è nei valori della Prprietà Location.

Facci sapere....
Ciao

redsoft Profilo | Newbie

Perfetto!
grazie mille
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5