PDA

View Full Version : [VB] Gestione CheckBox


leadergl
25-09-2004, 08:31
Raga ho un problema con questo codice...devo impostare il valore di molte checkbox ad 1 appena clicco su un'altra checkbox....solo che nella Private Sub ModP2k nn riesco a gestire l'array di checkbox...come faccio?


Private Sub ModP2k(chk As CheckBox, MaxIndex As Integer)

If CheckAll.Value = 1 Then
For iindex = 0 To MaxIndex
chk(iindex).Value = 1
Next iindex
Else
For iindex = 0 To MaxIndex
chk(iindex).Value = 1
Next iindex
End If
End Sub


Private Sub CheckAll_Click()
Dim iindex As Integer

'Attiva tutti gli elementi di ogni Check Box
Call ModP2k(Check1(iindex), 5)
Call ModP2k(Check2(iindex), 4)
Call ModP2k(Check3(iindex), 4)
Call ModP2k(Check4(iindex), 2)
Call ModP2k(Check5(iindex), 18)
Call ModP2k(Check6(iindex), 9)

'Disattiva le funzioni pericolose
If CheckAll.Value = 1 Then
Check1(0).Value = 1
Check5(1).Value = 1
Check5(2).Value = 1
Check5(7).Value = 1
Check5(10).Value = 1
Else
Check1(0).Value = 0
Check5(1).Value = 0
Check5(2).Value = 0
Check5(7).Value = 0
Check5(10).Value = 0
End If

Call Verifica

End Sub

matpez
25-09-2004, 11:39
Nella tua funzione se vuoi passare l'intero array nn devi dargli l'indice, altrimenti gli passi solo una checkbox...

Prova così: Call ModP2k(Check1, 5)

Però nn sto bene capendo come hai organizzato gli indici?

Hai più blocci di check box?

leadergl
25-09-2004, 16:27
si ho più blocchi di checkbox....nn pensavo me ne servissero così tanti...cmq tutta na cosa strana!

nel modo in cui mi hai suggerito mi da:

"Type Mismatch"

leadergl
25-09-2004, 17:17
P.S se lavoro in un modulo esiste un modo per non dover ripetere ogni rigo Form1.txtVisualizza..... ed altre comandi dove ci vuole il "Form1." per fargli trovare l'oggetto?

matpez
25-09-2004, 22:18
Originariamente inviato da leadergl
P.S se lavoro in un modulo esiste un modo per non dover ripetere ogni rigo Form1.txtVisualizza..... ed altre comandi dove ci vuole il "Form1." per fargli trovare l'oggetto?

Si il modo c'è, basta che nella funzione gli passi come parametro anche il form: byRef frmAux as Form

nella chiamata basta che gli passi: ME e lui si prende tutto il form!!

Se poi non vuoi mai scrivere che ti rompe il fatto di mettere sempre il riferimento, puoi sempre usare il WITH come da esempio:


With Form1
.Check1(1) etc etc
.Check1(2) etc etc
.Check1(3) etc etc
End With


Ti allego l'esempio che ho fatto per le checkbox, spero che ti vada bene guardalo!!

Naturalmente dal momento che tu (vedi esempio) passi una chekbox come parametro lui si prende anche tutto il riferimento di dov'è, per cui anche il form!!

Se qlc nn ti è chiaro chiedi pure :p

leadergl
26-09-2004, 11:38
come al solito sei il migliore, grazie!

Ciao,
LeaderGL

matpez
26-09-2004, 13:26
Originariamente inviato da leadergl
come al solito sei il migliore, grazie!

Ciao,
LeaderGL


Come sempre esageri hehehe :p