REFERENCIAR CONTROLES DE UM FORM POR UM MÓDULO
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.
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.
Tente assim:
Dim frmForm As Form
frmForm = Me.ActiveMdiChild [ô]O Me é o form pai
frmForm.btAdd.Enabled = False
Opa, muito obrigado pela resposta!
Dá um erro dizendo que Me não é válido em um módulo...
Dá um erro dizendo que Me não é válido em um módulo...
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