Llamar una SubRutina

Iniciado por TheGhost(Z), 26 Enero 2011, 20:04 PM

0 Miembros y 1 Visitante están viendo este tema.

TheGhost(Z)

'Hola como llamo a TreeView_AfterSelect desde un Button1
'En VB.60 bastaba con Call TreeView_AfterSelect()
'En VB.NET tiene dos parametros y ya he intentado con:

Call TreeView1_AfterSelect(me, TreeViewEventArgs.Empty)
Call TreeView1_AfterSelect(TreeView1, TreeViewEventArgs.Empty)
Call TreeView1_AfterSelect(Nothing, Nothing)


y no funciona con ninguno de los tres.

Private Sub TreeView_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
    'codigo que lista en un ListView1 de acuerdo al nodo seleccionado
    'ListView1.Items.Clear
    'Etc, etc
End Sub


'muchos botones uno de ellos es button1 que hace actualizar

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Call TreeView1_AfterSelect(TreeView1, TreeViewEventArgs.Empty) '<<  E R R O R
End Sub


Lo que hace el Button1.Clik es llamar al Sub TreeView_AfterSelect así pueda cargar nuevamente listado es decir actualizar el listado.

[D4N93R]

AfterSelect es un evento, no lo puedes "llamar" si lo que quieres es hacer invocarlo utiliza OnAfterSelect

seba123neo

probaste pasarle Nothing ?

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

TheGhost(Z)

Hola, para los que le haga falta... Econtré dos métodos. ::) ::)

1.#
Dim myNode As TreeNode = trvIndice.SelectedNode
trvIndice.SelectedNode = Nothing
trvIndice.SelectedNode = myNode
myNode = Nothing


2.#
Call trvIndice_AfterSelect(Nothing, New System.Windows.Forms.TreeViewEventArgs(trvIndice.SelectedNode))

raul338

Generalmente para llamar entre eventos, ej en el evento click del boton (que tambien se evian un sender y un EventArgs) llamo al evento que quiero con esos mismos parametros (si son del mismo tipo). Sino cambio una propiedad que dispare ese evento.

Yo cambiaria ese Nothing por "sender" o "Me" de la segunda opción

TheGhost(Z)

Hola, raul338

Me preguntaba lo mismo: he puesto los 4 sgtes.: Nothing, Me, Sender, TreeView1 (nombre del control)

y da el mismo resultado. supongo que habra alguna diferencia. pero como no sé las diferencias que hay entre ellas he optado por poner nothing.

Pero si tú o alguién sabe me vendría rebien... :D :D

raul338

Exacto el resultado es el mismo, pero "que funcione no quiere decir que esta bien"  ;-)

por lo general siempre se pone el sender del evento en el que estas o un this o Me :)