Criando controles em tempo de execução 

Pode acontecer de você precisar criar controles  ( caixas de texto, labels, etc.) enquanto sua aplicação esta rodando , ou seja : criar controles dinamicamente. 

Desta forma você pode exibir os controles enquanto e quando eles são necessários. Só tem um problema , você somente pode criar controles a partir de um controle existente. Ou seja se for quer criar caixas de texto vai ter que criar a partir de uma caixa de texto que já exista no seu formulário. 

Então você pode inserir um controle no formulário , definir a sua propriedade index igual a zero ( object.index=0 ) e depois criar quantos controles quiser do mesmo tipo como um array de controles.

Vamos mostrar um exemplo. Suponha que você queira criar uma caixa de texto , um label e um botão de comando em um projeto. Para começar faça o seguinte:

1-) Inicie um novo projeto no VB  e insira no formulário padrão uma caixa de texto(text1), uma etiqueta(label1) e um botão de comando ( command1) 

2-) defina a propriedade index de todos os controles como igual a zero e a propriedade visible de todos como igual False. Assim esses controles ficarão invisíveis em tempo de execução.

3-) Insira o seguinte código do evento load do formulário:

Private Sub Form_Load()

Load Text1(1)
Text1(1).Width = 2500
Text1(1).Height = 600
Text1(1).Left = 1200
Text1(1).Top = 300 * 1
Text1(1).Visible = True

Load Label1(1)
Label1(1).Width = 1200
Label1(1).Height = 500
Label1(1).BorderStyle = 1
Label1(1).Left = 1200
Label1(1).Top = 1500 * 1
Label1(1).Visible = True

Load Command1(1)
Command1(1).Width = 2050
Command1(1).Height = 580
Command1(1).Left = 1200
Command1(1).Top = 900 * 2
Command1(1).Visible = True

End Sub

4-) Ao executar o projeto serão criados três controles : text1(1) , label1(1) e command1(1) com as propriedades definidas no código. Veja:

Já imaginou as possibilidades ?  Até breve !!!