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

NullReferenceException

Estas en el tema de NullReferenceException en el foro de .NET en Foros del Web. Estoy trabajando en C# y con un treeview que se carga dinámicamente desde un archivo xml. Cuando click en un nodo del treeView quiero que ...
  #1 (permalink)  
Antiguo 19/06/2008, 02:53
 
Fecha de Ingreso: mayo-2008
Mensajes: 16
Antigüedad: 16 años
Puntos: 0
NullReferenceException

Estoy trabajando en C# y con un treeview que se carga dinámicamente desde un archivo xml. Cuando click en un nodo del treeView quiero que me pase de un formulario a otro. El problema es que cuando ejecuto este código desde Form1_Load me da un error. El error dice:"No se encontró NullReferenceException. Referencia a objeto no establecida como instancia de un objeto."
El código es el siguiente:

if (treeView1.SelectedNode.Text == "Aplicacion")
{
MessageBox.Show("holaaaa");
}





El caso es que si este mismo código lo ejecuto dentro de button1_Click, no me da errores y funciona perfectamente al hacer click.


A ver si alguien puede ayudarme. Gracias.
  #2 (permalink)  
Antiguo 19/06/2008, 10:02
Avatar de JonhyReyes  
Fecha de Ingreso: febrero-2007
Mensajes: 103
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: NullReferenceException

Lo que pasa es que al llenar el treeview, se ejecuta varias veces el evento afterclick del treeView, y obviamente cuando pasa sobre el manejador del evento y encuentra un llamado al "SelectedNode" y este no tiene ningún valor "NULL" o "Nothing" entonces aparece este error.

Lo que tienes que hacer es poner una condición que verifique que si no ha seleccionado nada que no ase por el codigo más o menos así

Cita:
{
if ((treeView1.SelectedNode != null)) {
if (treeView1.SelectedNode.Text == "Aplicacion")
{
MessageBox.Show("holaaaa");
}
}
}

Yo soy programador de Basic... ahi va el código:

Cita:
If Not tree.SelectedNode Is Nothing Then
If tree.SelectedNode.Text = "Aplicacion" Then
MessageBox.Show("holaaaa")
End If
End If
Espero te sirva

Saludos
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 13:10.