MUDAR PROPRIEDADES DE UM CONTROLE
Quando um controle está sob um container, não adianta pesquisar por ele diretamente dentro do form. Para fazer isso, você, primeiramente, terá que encontrar o container, depois percorra os controles dentro desse container para achar o controle desejado.
Ex;
dim obj as Object
For Each controle in FlowLayoutPanel1.Controls do
if controle.name = FlowLayoutPanel1.Controls.Count then
obj = controle
exit for
end if
Next
[ô]para usar
obj.Text = [Ô]lido[Ô]
E se por
Form1.FlowLayoutPanel1.Controls(Name_button).text = [Ô]Lido[Ô]
Se [Ô]Name_Button[Ô] conter o nome do controle, funciona normal.
Seu código apareceu alguns erros
coloquei um .ToString dps do Count e o erro foi para
Olhe como está o código
If controle.name = cadastroAni.FlowLayoutPanel1.Controls.Count Then
Citação:A conversão da cadeia de caracteres [ô]BTN1[ô] no tipo [ô]Double[ô] não é válida.
coloquei um .ToString dps do Count e o erro foi para
obj.Text = [Ô]lido[Ô]
Citação:Variável de objeto ou variável com bloco não definida.
Olhe como está o código
Dim obj As Object
For Each controle In Form1.FlowLayoutPanel1.Controls
If controle.name = Form1.FlowLayoutPanel1.Controls.Count.ToString Then
obj = controle
Exit For
End If
Next
[ô]para usar
obj.Text = [Ô]lido[Ô]
Você sabe o que a propriedade [Ô]count[Ô] é, certo?
Que conta? o total de controles?
Sim. O seu bloco de comparação, traduzindo é:
Se o nome do controle for igual a contagem de controles dentro de FlowLayoutPanel então...
Você está comparando alho com cebola e assim nunca vai dar certo mesmo.
Se o nome do controle for igual a contagem de controles dentro de FlowLayoutPanel então...
Você está comparando alho com cebola e assim nunca vai dar certo mesmo.
Citação:Variável de objeto ou variável com bloco não definida.
Isso aconteceu porque nenhum controle foi achado na pesquisa, daà a variavel obj ficou vazia. Coloque um nome manualmente e mais sugestivo para esse botao, e faça o teste em cima dele.
Citação:Sim. O seu bloco de comparação, traduzindo é:
Se o nome do controle for igual a contagem de controles dentro de FlowLayoutPanel então...
Você está comparando alho com cebola e assim nunca vai dar certo mesmo.
No inicio da postagem, ele atribuiu a quantidade de botoes como nome do controle, por isso que fiz assim.
O que não entendi no código, é em que momento eu especifico o botão
no formulário 1 onde cria os botões, mudei de : But.Name = [Ô]BTN[Ô] & FlowLayoutPanel1.Controls.Count + 1
para: But.Name = FlowLayoutPanel1.Controls.Count + 1
Seguindo o código acima, da uma travada, más não altera o text do buttn selecionado, onde eu n entendi em qual parte eu especifico o botão
e sobre usar o
Dim obj As Object
For Each controle In Form1.FlowLayoutPanel1.Controls [ô] Aqui, o que vai pegar exatamente, se eu clicar no botão 3 por exemplo, como que o If sabe que é o 3 botão? sendo que eu não especifiquei
If controle.name = Form1.FlowLayoutPanel1.Controls.Count.ToString Then
obj = controle
Exit For
End If
Next
[ô]para usar
obj.Text = [Ô]lido[Ô]
no formulário 1 onde cria os botões, mudei de : But.Name = [Ô]BTN[Ô] & FlowLayoutPanel1.Controls.Count + 1
para: But.Name = FlowLayoutPanel1.Controls.Count + 1
Seguindo o código acima, da uma travada, más não altera o text do buttn selecionado, onde eu n entendi em qual parte eu especifico o botão
e sobre usar o
Form1.FlowLayoutPanel1.Controls(Name_button).Text = [Ô]Lido[Ô]
também não deu certo, só que dessa vez não apareceu tela de erro
Tópico encerrado , respostas não são mais permitidas