Foros del Web » Programación para mayores de 30 ;) » .NET »

Click en CheckBox

Estas en el tema de Click en CheckBox en el foro de .NET en Foros del Web. Necesito hacer una serie de cosas al hacer click en el checkbox pero no se como acceder a evento click. Me podeis ayudar por favor....
  #1 (permalink)  
Antiguo 20/07/2009, 03:15
Avatar de lunita87  
Fecha de Ingreso: junio-2009
Ubicación: Zaragoza
Mensajes: 19
Antigüedad: 14 años, 10 meses
Puntos: 0
Click en CheckBox [SOLUCIONADO]

Necesito hacer una serie de cosas al hacer click en el checkbox pero no se como acceder a evento click. Me podeis ayudar por favor.

Última edición por lunita87; 22/07/2009 a las 04:41
  #2 (permalink)  
Antiguo 20/07/2009, 03:52
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
Respuesta: Click en CheckBox

mmmmm, pues, nada más usa el checked changed

vb = Private Sub Control_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Control.CheckedChanged

c# = Private void Control_CheckedChanged(Object sender , System.EventArgs e)


y allí puedes verificar cada que cambie la propiedad checked del control:

vb = If Control. Checked then
c# = if (Control.Checked)

PD. También cuando le das doble click al control, este te manda al código del evento mas usado, en este caso el CheckedChanged...
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #3 (permalink)  
Antiguo 20/07/2009, 04:34
Avatar de lunita87  
Fecha de Ingreso: junio-2009
Ubicación: Zaragoza
Mensajes: 19
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Click en CheckBox

El control se genera por codigo conque no puedo hacerle doble click y al CheckedChanged no me entraba.
He acabado agregandole el onclick
Check.Attributes.Add("onclick", ".....")

Gracias de todos modos
  #4 (permalink)  
Antiguo 20/07/2009, 04:56
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
Respuesta: Click en CheckBox

Cita:
Iniciado por lunita87 Ver Mensaje
El control se genera por codigo conque no puedo hacerle doble click y al CheckedChanged no me entraba.
He acabado agregandole el onclick
Check.Attributes.Add("onclick", ".....")

Gracias de todos modos
ojo con el onClick por que toma en cuenta el estado actual del control y no el del check, es decir, si lo tenías activado (= True) y le das click a cualquier parte del control este evento se lanzará con el código que tu le hayas escrito.

en cambio si creas el evento CheckedChanged hasta que no cambie el control de estado (la palomita de si o no) el evento se ejecutara.
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #5 (permalink)  
Antiguo 22/07/2009, 03:46
Avatar de lunita87  
Fecha de Ingreso: junio-2009
Ubicación: Zaragoza
Mensajes: 19
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Click en CheckBox

Me rindo, no lo consigo. Ayuda por favor


Código:
Public Partial Class WebForm1
    Inherits System.Web.UI.Page
    Public Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Dim UpdatePanel1 As UpdatePanel = New UpdatePanel()
        UpdatePanel1.ID = "UpdatePanel1"

        Dim CheckBox1 As CheckBox = New CheckBox()
        CheckBox1.ID = "field_CheckBox_" '& field.id
        CheckBox1.AutoPostBack = True
        CheckBox1.Attributes.Add("OnCheckedChanged", "CheckBox1_CheckedChanged();")
        Dim FileUpload1 As FileUpload = New FileUpload()
        FileUpload1.ID = "field_FileUpload_" '& field.id
        Dim HyperLink1 As HyperLink = New HyperLink()
        HyperLink1.ID = "field_HyperLink_" '& field.id
        HyperLink1.Text = "Descargar"
        HyperLink1.NavigateUrl = "../viewdoc.aspx?dID=" '& item("ID")
        HyperLink1.Target = "_ablank"

        If False Then 'id_value.Value <> "" And id_value.Value <> "[UNDEFINED]" Then
            'tiene algo
            CheckBox1.Enabled = False
            FileUpload1.Visible = False
            CheckBox1.Checked = True
            HyperLink1.NavigateUrl = "~/viewdoc.aspx?dID=" ' & id_value.Value
        Else
            'no tiene nada
            FileUpload1.Enabled = False
            HyperLink1.Visible = False
        End If

        Dim AsyncPostBackTrigger1 As AsyncPostBackTrigger = New AsyncPostBackTrigger()
        AsyncPostBackTrigger1.ControlID = "field_CheckBox_" '& field.id"
        AsyncPostBackTrigger1.EventName = "CheckedChanged"

        UpdatePanel1.ContentTemplateContainer.Controls.Add(CheckBox1)
        UpdatePanel1.ContentTemplateContainer.Controls.Add(FileUpload1)
        UpdatePanel1.ContentTemplateContainer.Controls.Add(HyperLink1)

        UpdatePanel1.Triggers.Add(AsyncPostBackTrigger1)

        Page.Form.Controls.Add(UpdatePanel1)

    End Sub

    Protected Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If CheckBox1.Checked = True Then
            FileUpload1.Enabled = True
        Else
            FileUpload1.Enabled = False
        End If
    End Sub
End Class
-No os preocupeis por todo lo que hay comentado, aun no lo uso, y lo he tocado tanto que ahora no se si esta mejor o peor que el otro dia, jaja
-El if del load esta en false porque no me funciona la segunda parte.
-No entra ni el CheckedChanged ni el Click.
-Y lo mas importante, no puedo usar java, tiene que ser todo por codigo de visual, si uso java tiene que ser aqui:
Código:
CheckBox1.Attributes.Add("OnCheckedChanged", "CheckBox1_CheckedChanged();")
  #6 (permalink)  
Antiguo 22/07/2009, 04:41
Avatar de lunita87  
Fecha de Ingreso: junio-2009
Ubicación: Zaragoza
Mensajes: 19
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Click en CheckBox

Bueno despues de dos dias a venido mi jefe y lo ha solucionado. Gracias de todos modos

Código:
Public Partial Class WebForm1
    Inherits System.Web.UI.Page
    Public Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Dim UpdatePanel1 As UpdatePanel = New UpdatePanel()
        UpdatePanel1.ID = "UpdatePanel1"

        Dim CheckBox1 As CheckBox = New CheckBox()
        CheckBox1.ID = "field_CheckBox_" '& field.id
        CheckBox1.AutoPostBack = True

        AddHandler CheckBox1.CheckedChanged, AddressOf WebForm1.CheckBox1_CheckedChanged

        Dim FileUpload1 As FileUpload = New FileUpload()
        FileUpload1.ID = "field_FileUpload_" '& field.id
        Dim HyperLink1 As HyperLink = New HyperLink()
        HyperLink1.ID = "field_HyperLink_" '& field.id
        HyperLink1.Text = "Descargar"
        HyperLink1.NavigateUrl = "../viewdoc.aspx?dID=" '& item("ID")
        HyperLink1.Target = "_ablank"

        If False Then 'id_value.Value <> "" And id_value.Value <> "[UNDEFINED]" Then
            'tiene algo
            CheckBox1.Enabled = False
            FileUpload1.Visible = False
            CheckBox1.Checked = True
            HyperLink1.NavigateUrl = "~/viewdoc.aspx?dID=" ' & id_value.Value
        Else
            'no tiene nada
            FileUpload1.Enabled = False
            HyperLink1.Visible = False
        End If

        Dim AsyncPostBackTrigger1 As AsyncPostBackTrigger = New AsyncPostBackTrigger()
        AsyncPostBackTrigger1.ControlID = "field_CheckBox_" '& field.id"
        AsyncPostBackTrigger1.EventName = "CheckedChanged"

        UpdatePanel1.ContentTemplateContainer.Controls.Add(CheckBox1)
        UpdatePanel1.ContentTemplateContainer.Controls.Add(FileUpload1)
        UpdatePanel1.ContentTemplateContainer.Controls.Add(HyperLink1)

        UpdatePanel1.Triggers.Add(AsyncPostBackTrigger1)

        Page.Form.Controls.Add(UpdatePanel1)

    End Sub

    Protected Shared Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Dim chk As CheckBox = sender
        Dim fu As FileUpload = chk.Parent.FindControl("field_FileUpload_")

        If chk.Checked = True Then
            fu.Enabled = True
        Else
            fu.Enabled = False
        End If
    End Sub
End Class
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:16.