Jump to content


hebinhopassamani

Member Since 29/10/2005
Offline Last Active 04/11/2005, 12:49
-----

Posts I've Made

In Topic: Evento De Um Botão

04/11/2005, 08:59

Parceiro, acho que to entendendo o que ta acontecendo, mas nao to sabendo resolver, veja bem, se eu criar o BT2 no no evento on_click do BT1, esse estático, e edicionar o evento ao BT2 dentro do on_click de BT1 não funciona devido ao fato de após o final do evendo on_click do BT1 o novo BT2 deixa de existir.
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

In Topic: Evento De Um Botão

02/11/2005, 10:14

Aee 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

IPB Skin By Virteq