Array di controlli

mercoledì 16 febbraio 2005 - 13.30

Elfus Profilo | Newbie

Ho appreso leggendo nei messaggi del forum che non esistono più gli array di controlli come c'erano nel vb6, e se devo creare da codice 30 chekbox come faccio?
io sto provando così:

for i = 0 to 30 -1
dim chkBox as new CheckBox
chkBox.Loacation = New System.Drawing.Point(10, y)
chkBox.Text = x.ToString
pnlExtra.Controls.Add(chkBox)
y += 20
next

ci sono altre soluzioni?

Elfus Profilo | Newbie

Una volta creati tutti i controlli in un form, avendo dato il nome in questo modo al checkbox appena creato: chkBox.name = "chkBox" & x.tostring

se aggiungo un bottone dall'IDE come faccio a non farmi dare errore?
Devo creare anche il bottone da codice?

Aiutatemiiiiiiiiiiiiiiiiiiiiiii

Elfus Profilo | Newbie

Public Function CreaCheckBox(ByVal str As String)

Dim x As Integer
Dim y As Integer = 10
Dim j As Integer = 10
For x = 1 To 48
Dim checkBox As New CheckBox
checkBox.Location = New System.Drawing.Point(10, y)
checkBox.Text = ChkValue(x).ToString
checkBox.Name = "chkBox" & x.ToString
checkBox.Checked = CInt(Mid(str, x, 1))
Panel1.Controls.Add(checkBox)
y += 20
Next
End Function

nella form c'è un button che si chiama BTNModifica, se io nell'evento click metto il nome della checkbox appena creata me la sottolinea dicendomi che non è stata dichiarata.
Un'altra domanda: come si fa a creare un evento di un bottone appena creato da codice, esempio evento click???

grazie

Cteniza Profilo | Guru

Per creare un array di controlli io farei semplicemente:
Dim myCheck(47) As CheckBox
Dim k As Integer = 0
For k = 0 To 47
myCheck(k) = New CheckBox
....
Next
Per aggiungere un evento:
AddHandler (guarda la sintassi) o fai copiaincolla con la definizione di un evento generato tramite il designer

Elfus Profilo | Newbie

come creare i controlli in un modo o in un altro l'ho capito. Ma ho lo stesso problema sulle checkbox appena create: cioè se poi dall'evento creato del bottone scrivo il codice per vedere se è cekkata non mi riconosce il nome della checkbox dicendomi che non è stata dichiarata. Come posso ovviare a questo inconveniente e far partire dal bottone certe operazioni in base al fatto se è stata cekkata o no?
Nell'evento click del bottone non mi riconosce le checkbox(k) create.

grazie a tutti.

Cteniza Profilo | Guru

Con il mio metodo:
if myCheck(k).checked = true

Elfus Profilo | Newbie

Innanzitutto ti ringrazio.
forse mi sono spiegato male:
ho una funzione che mi crea le chkbox ed un bottone da codice.
Poi ho la sub creata appositamente per il bottone creato da codice collegata all'AddHandler etc etc etc....

Private Sub myButton_click(byval sender ...........)
... qui il problema....
non mi riconosce la MyCheck(k)
la sottolinea e dice che non è dichiarata.
if myCheck(k).checked = ture then
......
end if
End sub

grazie per la pazienza

Elfus Profilo | Newbie

Si ho provato, ma come faccio poi a fargli vedere la (k) cioè l'indice di uno degli elementi dell'array?
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5