GERAR CONTROLES DINAMICAMENTE
Cara uma outra opção é você utiliza arrays de controle, desta forma funciona os eventos porém você irá trabalhar com indices.
Voce Cria o controle na tela e os demais você utiliza o Load (controle(indice)).
Voce Cria o controle na tela e os demais você utiliza o Load (controle(indice)).
Cara Veja este exemplo, é meio gambiarra, mas dá pra vc adaptar ai.
SOCORRO AMIZADE
Por favor alguém me ajude....
Você poderia criar uma função para cada objeto, onde colocasse os parâmetros Form, Altura, Largura. Da forma que você está usando, precisa manipular o index dos controles. Estou sem tempo agora para analisar sua função. Se não achar resposta até eu tiver tempo, vou vê uma solução para sua função. Outra coisa é colocar a funçao em um módulo ou classe.
O LOCO VOU TENTAR ADAPTAR O SEU EXEMPLO.
Roberto Martins ainda não consegui
Sem Solução.
Amigos se puderem ver agora como eu deixei o meu programa, tentei criar array, mas agora não sei como fazer pra funcionar mas talvez com o array seja mais fácil. Segue o anexo.
Cara pelo que eu entendi você consegue gerar os controles, só que seus respectivos eventos não funcionam, é isso?
Se for, faça este exemplo em separado e se te ajudar, faça as adaptações necessárias para sua aplicação:
1. Crie um novo projeto Standard e coloque um botão nele;
2. Inclua uma nova Classe e renomei-a como BtnDinamico;
3. Nesta classe, insira os seguintes códigos:
[txt-color=#0000f0]Public WithEvents [/txt-color]BtnDinamico [txt-color=#0000f0]as[/txt-color] CommandButton
--------------------------------------------------------------
[txt-color=#0000f0]Public Sub [/txt-color]BtnDinamico_Click()
MsgBox [Ô]Funcionou[Ô]
[txt-color=#0000f0]End Sub[/txt-color]
4. Na parte [Ô]General[Ô] do formulário, coloque:
[txt-color=#0000f0]Private[/txt-color] Clique [txt-color=#0000f0]as New [/txt-color]Collection
[txt-color=#0000f0]Private[/txt-color] x [txt-color=#0000f0]as Integer[/txt-color]
5. Agora clique duas vezes no botão do formulário para acionar seu evento Click e inclua:
[txt-color=#0000f0]Dim[/txt-color] tt [txt-color=#0000f0]as New [/txt-color]BtnDinamico
[txt-color=#0000f0]Set[/txt-color] tt.BtnDinamico = Me.Controls.Add([Ô]VB.CommandButton[Ô],[Ô]Botao[Ô] & x)
[txt-color=#0000f0]With[/txt-color] tt.BtnDinamico
.Visible = True
.Top = x
.Left = 100
.Caption = [Ô]Clique[Ô]
.Heigth = 495
.Width = 1200
[txt-color=#0000f0]End With[/txt-color]
Clique.Add tt
x = x + 500
6. Rode e repare que todos os botões têm seus eventos acionados separadamente. Isso se dá pelo fato de eu concatenar a variável x com o nome do botão
e do mesmo estar em uma collection.
Se era isso que você queria, adapte para seu projeto, se não for, desculpe não poder te ajudar.
Se for, faça este exemplo em separado e se te ajudar, faça as adaptações necessárias para sua aplicação:
1. Crie um novo projeto Standard e coloque um botão nele;
2. Inclua uma nova Classe e renomei-a como BtnDinamico;
3. Nesta classe, insira os seguintes códigos:
[txt-color=#0000f0]Public WithEvents [/txt-color]BtnDinamico [txt-color=#0000f0]as[/txt-color] CommandButton
--------------------------------------------------------------
[txt-color=#0000f0]Public Sub [/txt-color]BtnDinamico_Click()
MsgBox [Ô]Funcionou[Ô]
[txt-color=#0000f0]End Sub[/txt-color]
4. Na parte [Ô]General[Ô] do formulário, coloque:
[txt-color=#0000f0]Private[/txt-color] Clique [txt-color=#0000f0]as New [/txt-color]Collection
[txt-color=#0000f0]Private[/txt-color] x [txt-color=#0000f0]as Integer[/txt-color]
5. Agora clique duas vezes no botão do formulário para acionar seu evento Click e inclua:
[txt-color=#0000f0]Dim[/txt-color] tt [txt-color=#0000f0]as New [/txt-color]BtnDinamico
[txt-color=#0000f0]Set[/txt-color] tt.BtnDinamico = Me.Controls.Add([Ô]VB.CommandButton[Ô],[Ô]Botao[Ô] & x)
[txt-color=#0000f0]With[/txt-color] tt.BtnDinamico
.Visible = True
.Top = x
.Left = 100
.Caption = [Ô]Clique[Ô]
.Heigth = 495
.Width = 1200
[txt-color=#0000f0]End With[/txt-color]
Clique.Add tt
x = x + 500
6. Rode e repare que todos os botões têm seus eventos acionados separadamente. Isso se dá pelo fato de eu concatenar a variável x com o nome do botão
e do mesmo estar em uma collection.
Se era isso que você queria, adapte para seu projeto, se não for, desculpe não poder te ajudar.
Tópico encerrado , respostas não são mais permitidas