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

Rispondi quotando
