supergonzales,
serve un ciclo For. Però fai attenzione non sò se riesci a creare 1000 shape (usando una matrice di controlli, come indicato, forse sì, mentre non è possibile disegnare 1000 shape su una Form). Al riguardo devi consultare la guida.
Il seguente è il codice già postato con l'integrazione che ti ho detto.
Intendiamoci, non considera le coordinate ove dislocare le shape (la cosa si complica parecchio).
codice:Option Explicit Dim jj As Integer Private Sub Command1_Click() Dim j As Integer jj = 1 For j = 1 To (Val(Text1.Text) - 1) ' Controlla il n° di oggetti clonati: If jj = (Val(Text1.Text)) Then Exit Sub ' Inserisce il n° di controlli Shape indicato in Text1: Load Shp(Shp.UBound + 1) ' sposta il nuovo Shape sotto il precedente: Shp(Shp.UBound).Move Shp((Shp.UBound - 1)).Left, Shp((Shp.UBound - 1)).Top + (Shp((Shp.UBound - 1)).Height) ' Lo rendo visibile: Shp((Shp.UBound)).Visible = True jj = jj + 1 Next j End Sub

Rispondi quotando