Allora, il fine di questo codice è quello di creare delle textbox in automatico al premere di un comando da parte dell'utente.
Ho Creato un Picture (contenitore) al suo interno ho messo una seconda Picture (Dati) e ho associato la ScrollBar a questa...per far sì che mi scrolli la Picture (Dati) se questa aumenta d'altezza (se supera quella dela Picture (Contenitore).
Nella Picture (Dati) Ho inserito una ComboBox e una TextBox (con indice 0).
Premendo sul comando cmdAggiungi il programma si comporta bene, mi crea una seconda linea con una nuova ComboBox e una nuova TextBox...inserendo nella ComboBox il valore "n"...ossia l'indice.
Solo che qui c'è il ma...
il numeri rappresentati sono, 1, 2, 4, 8, 16, 32...e così via...e non 1, 2, 3, 4, 5, 6....e già qui non so perchè.
E poi, questo codice più aumentano le righe e più richiede memoria al sistema...sono arrivato all'indice 512 e si era praticamente bloccato per elaborare.
Dove sbaglio? o come posso risolvere da far sì che mi richieda meno risorse?
Spero d'essere stato chiaro...
codice:
Private Sub ImpostaBarra()
If Contenitore.ScaleHeight > Dati.ScaleHeight Then
ScrollBar.Enabled = False
Else
ScrollBar.Min = 0
ScrollBar.Max = (Dati.Height - Contenitore.Height)
ScrollBar.LargeChange = ScrollBar.Max
ScrollBar.SmallChange = (ScrollBar.Max / 10)
ScrollBar.Enabled = True
End If
End Sub
Private Sub ScrollBar_Scroll()
Dati.Top = -ScrollBar.Value
End Sub
Private Sub ScrollBar_Change()
Call ScrollBar_Scroll
End Sub
Private Sub Elementi()
'Codice
Dim k As Integer
Dim n As Integer
n = ComboTipo.Count
For k = 1 To (n)
Load ComboTipo(ComboTipo.Count)
ComboTipo(ComboTipo.Count - 1).Move ComboTipo(k - 1).Left, ComboTipo(k - 1).Top + (ComboTipo(k - 1).Height + 50)
ComboTipo(ComboTipo.Count - 1).Visible = True
ComboTipo(ComboTipo.Count - 1).Text = n
Load txtPosizione(txtPosizione.Count)
txtPosizione(txtPosizione.Count - 1).Move txtPosizione(k - 1).Left, txtPosizione(k - 1).Top + (txtPosizione(k - 1).Height + 50)
txtPosizione(txtPosizione.Count - 1).Visible = True
txtPosizione(txtPosizione.Count - 1).Text = ""
Next k
Dati.Height = (ComboTipo(ComboTipo.Count - 1).Top + 335)
End Sub
Private Sub cmdAggiungi_Click(Index As Integer)
Elementi
ImpostaBarra
End Sub