Evento De Um Botão
#1
Posted 01/11/2005, 22:42
Alguem pode me ajudar, imagine que eu tenha um botão BT1 estático no form, o clique desse botão cria um novo botão BT2, esse criado dinamicamente, em tempo de execução. como faço para setar o evento desse segundo botão BT2 para por exemplo escrever ola na tela?
estou usando vb.net
Muito obrigado
#2
Posted 01/11/2005, 23:29
Oh soh.. vc tem q adicionar um evento a ele.. eu costumo fazer isso usando AddHandlerPessoal,
Alguem pode me ajudar, imagine que eu tenha um botão BT1 estático no form, o clique desse botão cria um novo botão BT2, esse criado dinamicamente, em tempo de execução. como faço para setar o evento desse segundo botão BT2 para por exemplo escrever ola na tela?
estou usando vb.net
Muito obrigado
Se eu nao me engano a sintaxe do AddHandler eh :
AddHandler Control.Evento, AddressOf Metodo
Entao .. acho q vc tenta uns eskema assim:
AddHandler BT2.Click, AddressOf BtDinamico_Click
E ai cria uma sub chamada BtDinamico_Click que tenha os parametros s as sender e e As EventArgs.
#3
Posted 02/11/2005, 10:14
se eu fizer isso que vc disse dentro da sub Page_Load do webform funciona.
porem se eu fizer isso dentro do evento click de algum botão estático, por exemplo, não funciona. Tipo
tenho um botão na tela, nome: "bt", estático colocado normalmente no form.
Private Sub Bt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bt.Click
Dim btn As New Button
btn.ID = "BTHB"
Page.FindControl("Form1").Controls.Add(btn)
AddHandler CType(Page.FindControl("BTHB"), Button).Click, New EventHandler(AddressOf BtDinamico_Click)
End Sub
tenho a sub BtDinamico_Click que somente escreve algo na tela, alem disso um brake point para o debug parar ali se passar por ali.
Mas dessa forma não funciona... agora se eu colocar o mesmo código
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim btn As New Button
btn.ID = "BTHB"
Page.FindControl("Form1").Controls.Add(btn)
AddHandler CType(Page.FindControl("BTHB"), Button).Click, New EventHandler(AddressOf BtDinamico_Click)
End Sub
porem dentro do evento page load , Ai sim funciona!!
Valeu denovo brother vc ta sendo um grande parceiro,
Abraços
Hebinho
#4
Posted 02/11/2005, 11:51
Bom.. nunca criei EventHandlers dinamicos em Botoes.. mas 'e meio estranhoAee parceiro, funciona parcialmente, hehe, se eu colocar a linha
se eu fizer isso que vc disse dentro da sub Page_Load do webform funciona.
porem se eu fizer isso dentro do evento click de algum botão estático, por exemplo, não funciona. Tipo
tenho um botão na tela, nome: "bt", estático colocado normalmente no form.
Private Sub Bt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bt.Click
Dim btn As New Button
btn.ID = "BTHB"
Page.FindControl("Form1").Controls.Add(btn)
AddHandler CType(Page.FindControl("BTHB"), Button).Click, New EventHandler(AddressOf BtDinamico_Click)
End Sub
tenho a sub BtDinamico_Click que somente escreve algo na tela, alem disso um brake point para o debug parar ali se passar por ali.
Mas dessa forma não funciona... agora se eu colocar o mesmo código
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim btn As New Button
btn.ID = "BTHB"
Page.FindControl("Form1").Controls.Add(btn)
AddHandler CType(Page.FindControl("BTHB"), Button).Click, New EventHandler(AddressOf BtDinamico_Click)
End Sub
porem dentro do evento page load , Ai sim funciona!!
Valeu denovo brother vc ta sendo um grande parceiro,
Abraços
Hebinho
Tenta somente usar essa linha de AddHandler:
AddHandler btn.Click, AddressOf BtDinamico_Click
e na sub passe ela assim:
Private Sub BtDinamico_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) 'Code End Sub
Se nao funcionaiar, experimenta criar uma funcao rodando em Page_Load que varra esses buttons criados dinamicamente e adicione os handlers atraves de alguma caracteristica especifica dos Buttons PreFabs.
For Each obj As Control in Page.FindControl("Form1").Controls ' CommandButtons que comecem com BTH (somente um exemplo) If GetType(obj) Is Button And obj.Id.Substring(0, 3) = "BTH" Then AddHandler obj.Click, AddressOF BtDinamico_Click End If Next
Nao me recordo bem se esse foreach funciona dessa forma, mas alguma coisa do tipo deve resolver.
#5
Posted 04/11/2005, 08:59
agora se eu criar o BT2 e adicionar o evento a ele dentro do page load funciona, sabe porque, o page load é rodado ao inicio da pagina e cria BT2, quando eu clico em BT2 o page load é novamente chamado antes que chame o metodo do evento e BT2 é criado novamente. não entendo ao certo, pois eu uso a linha Page.FindControl("Form1").Controls.Add(bt2), imagino que ela seria suficiente para adicionar o botão ,recem criado, ao form. no caso que não funciona o botão Bt2 some da tela quando a pagina é recarregada.
sei que ta meio confuso, mas eu to muito mais, hehehehe se puder me ajudar...
assim não funciona:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Bt2 As New Button
Bt2.Text = "Clique"
Bt2.ID = "TesteBT"
Page.FindControl("Form1").Controls.Add(Bt2)
AddHandler CType(Page.FindControl("TesteBT"), Button).Click, New EventHandler(AddressOf Me.Teste)
End Sub
Private Sub Teste(ByVal sender As System.Object, ByVal e As System.EventArgs)
Response.Write("Ola")
End Sub
Assim Funciona:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim bt2 As New Button
bt2.Text = "Clique"
bt2.ID = "TesteBT"
Page.FindControl("Form1").Controls.Add(bt2)
AddHandler CType(Page.FindControl("TesteBT"), Button).Click, New EventHandler(AddressOf Me.Teste)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
End Sub
Private Sub Teste(ByVal sender As System.Object, ByVal e As System.EventArgs)
Response.Write("Ola")
End Sub
#6
Posted 29/11/2017, 13:33
Abilify Via Mail Order Levitra Blutdruck Cialis Originale Online viagra Prix Du Cialis C20 Viagra France Acheter En Bordeaux
Prix Propecia Generic Cialis Online Prescription Generic Cialis Professional Paypal viagra Baclofene Dose Max Achat Baclofen En France Amoxicillin 500 Dosage
Levitra Senza Ricetta Does Amoxicillin Work For Pneumonia Amoxicillin Allergy Symptoms viagra online pharmacy Cialis O Viagra Dove Comprare
#7
Posted 30/11/2017, 01:44
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)