REFERENCIAR CONTROLES DE UM FORM POR UM MÓDULO

MARCELODAVID 07/07/2015 14:21:07
#448548
Boa tarde companheiros!
Preciso da ajuda de vocês na seguinte questão:

Estou criando uma sub genérica em um módulo para desabilitar uns botões específicos.

Mas não consigo. O código que estou usando é o seguinte:

Dim frmForm As Form

frmForm = Form.ActiveForm.ActiveMdiChild [txt-color=#007100][ô]Referencio o formulário ativo no momento[/txt-color]
ctlBt = frmForm.ActiveControl [txt-color=#007100][ô]Referencia ao controle que foi clicado[/txt-color]

frmForm.btAdd.Enabled = False [txt-color=#007100][ô]Aqui é que o erro ocorre... Ele não reconhece a variável frmForm. O estranho, é que a variável recebeu o form certinho, se verificarmos antes dessa linha.[/txt-color]

Já vi este artigo http://www.macoratti.net/10/06/vbn_vef1.htm, mas nesse caso os controles são referenciados no momento que estão sendo instanciados. No caso, o form já está ativo na tela.

Como proceder, alguma sugestão?

Grato.


JABA 07/07/2015 14:54:28
#448549
Resposta escolhida
Tente assim:

Dim frmForm As Form
frmForm = Me.ActiveMdiChild [ô]O Me é o form pai
frmForm.btAdd.Enabled = False

MARCELODAVID 07/07/2015 15:05:02
#448550
Opa, muito obrigado pela resposta!

Dá um erro dizendo que Me não é válido em um módulo...
JABA 07/07/2015 15:26:23
#448551
Tenta assim então:

Dim frmForm As Form
frmForm = Form.ActiveForm.ActiveMdiChild
For i As Integer = 0 To frmForm.Controls.Count - 1
If frmForm.Controls(i).Name = [Ô]btAdd[Ô] Then [ô]Aqui você vai ter que colocar o nome do controle
frmForm.Controls(i).Enabled = False
End If
Next
Tópico encerrado , respostas não são mais permitidas