none
Error: Referencia a objeto no establecida como instancia de un objeto

    Pregunta

  • Hola a todos, tengo un problema que se que es muy comun y muy molesto:

    No se encontro NullReferenceException: Referencia a objeto no establecida como instancia de un objeto

    Tengo un Timer y un TabControl en donde cada TabPage tiene un Webbrowser. Cada vez que el timer hace "Tick", una variable llamada tab_seleccionada devuelve cual es la TabPage seleccionada en el TabControl, y una variable llamada webbrowser_seleccionado devuelve el navegador de tab_seleccionada, luego la propiedad text de tab_seleccionada es la url de webbrowser_seleccionado. Este es el codigo

     

    Dim tab_seleccionada As TabPage
    Dim webbrowser_seleccionado As WebBrowser
    
    Private Sub TabpageTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabpageTimer.Tick
     tab_seleccionada = TabControl1.SelectedTab
     webbrowser_seleccionado = tab_seleccionada.Controls(0)
     tab_seleccionada.Text = webbrowser_seleccionado.Url.ToString
    End Sub
    

     

    Al probarlo me da ese error y lo he probado varias veces de distintas formas y no funciona

     

    Gracias.

     

     

    sábado, 01 de enero de 2011 21:18

Respuestas

  • hola

    pero porque necesitas hacer esto en un timer ? o sea puede tomar el tab seleccionado en cualquier otro evento cuando lo requieras suar, porque un timer debe asignar la seleccion del tab y el control webbrowser

     

    por lo que veo de alguna forma el SelectedTab no esta devolviendote un tab activo

    podrias probar algo como esto

    Private Sub TabpageTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabpageTimer.Tick

        If TabControl1.SelectedTab Is Nothing Then
            Return
        End If

        tab_seleccionada = TabControl1.SelectedTab
        webbrowser_seleccionado = DirectCast(tab_seleccionada.Controls(0), WebBrowser)
        tab_seleccionada.Text = webbrowser_seleccionado.Url.ToString
       
    End Sub

    en este caso solo si hay un tab seleccionado se ejecutara el codigo

    igual sigo pensando que el Timer no es una buena idea, deberia haber otroa forma de lograr esto que necesitas sin el Timer

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    sábado, 01 de enero de 2011 22:27