Visual Basic.NET - Ayuda con Treeview

   
Vista:

Ayuda con Treeview

Publicado por Geovanni Escalante (2 intervenciones) el 07/05/2008 04:34:57
Hola a todos

Estoy incursionando en el nuevo mundo de VB .NET y estoy haciendo una aplicación en donde yo escojo como menú un TreeView y los nodos son las opciones para mostrar el foumulario, uso el evento AfterSelect pero este evento sólo se lanza cuando doy clic la primera vez sobre el nodo quisiera saber cual es el evento que me sirve para mostrar el formulario cuantas veces yo quiera y que no se el evento clic puesto que este se lanza aún cuando doy clic sobre el + para expandir los nodos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con Treeview

Publicado por Huguin (83 intervenciones) el 08/05/2008 16:47:22
Hola, hay un evento que se llama NodeMouseClick

Private Sub treView_NodeMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles treView.NodeMouseClick

'podes usuar esta opcion si al momento de cargar el treview en la propiedad
'TAG estas los nombres de los formularios por ejemplo

Select Case e.Node.Tag
Case "Form1"
'a continuacion pones tu codigo para lanazar tu form1
Case "Form2"

Case "Form3"

End Select
end sub


O Podes usar esta que te va a evaluar el texto del Nodo actual que estas seleccionando

Private Sub treExpe_NodeMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles treExpe.NodeMouseClick

Select Case e.Node.Text
Case "Clientes"
'a continuacion pones tu codigo para lanazar tu form1
MsgBox("Mostrar form1", MsgBoxStyle.Information, "Prueba")
Case "Proveedores"
'a continuacion pones tu codigo para lanazar tu form2
MsgBox("Mostrar form2", MsgBoxStyle.Information, "Prueba")
Case "Empleados"
'a continuacion pones tu codigo para lanazar tu form3
MsgBox("Mostrar form3", MsgBoxStyle.Information, "Prueba")
End Select

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con Treeview

Publicado por Geovanni Escalante (2 intervenciones) el 09/05/2008 02:37:09
Muchas gracias por ayudarme, pero es que yo ya habia usado ese evento y no me sirve porque es que este evento se lanza asi sea le de clic al nodo solo para expandirlo, es decir le doy clic al + para ver su nodo hijo y ese evento se lanza, yo solo quiero que se lance el evento cuando le de clic al nodo no al +
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con Treeview

Publicado por Huguin (83 intervenciones) el 09/05/2008 22:24:00
Hola, pues una opcion es evaluar el nodo actual al que le estas haciendo clic si es padre no ejecutas la funcion que muestra tu form, eso es forma de resolverlo pero alli te envio otra... y te lo envio a tu correo el ejemplo...


Imports System.Windows.Forms
Imports System.Drawing
Public Class nodo
Public IdForm As String
Public NombreForm As String
End Class

Public Class Treview
Public Shared Sub Albero(ByVal TreeView1 As TreeView)

' For f As Integer = 0 To 10
Dim TreeNode11 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Opcion " & 1)

For j As Integer = 1 To 5
Dim TreeNode12 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Form " & j)
Dim tagnodo As New nodo
tagnodo.IdForm = "000" & j
tagnodo.NombreForm = "Formulario" & j
TreeNode12.Tag = tagnodo
TreeNode11.Nodes.Add(TreeNode12)
Next
TreeView1.Nodes.Add(TreeNode11)
'Next

'esta opcion te expande todos los nodos
'TreeView1.ExpandAll()

End Sub
End Class


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Treview.Albero(Me.TreeView1)
End Sub

Private Sub TreeView1_NodeMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseClick
Try
Dim IdForm, NameFrom As String
IdForm = CType(e.Node.Tag, nodo).IdForm
NameFrom = CType(e.Node.Tag, nodo).NombreForm
Select Case IdForm
Case Is = "0001"
MsgBox("Mostrar el Formulario con Nombre " & NameFrom, MsgBoxStyle.Information, "Prueba")
Case Is = "0002"
MsgBox("Mostrar el Formulario con Nombre " & NameFrom, MsgBoxStyle.Information, "Prueba")
Case Is = "0003"
MsgBox("Mostrar el Formulario con Nombre " & NameFrom, MsgBoxStyle.Information, "Prueba")
Case Is = "0004"
MsgBox("Mostrar el Formulario con Nombre " & NameFrom, MsgBoxStyle.Information, "Prueba")
Case Is = "0005"
MsgBox("Mostrar el Formulario con Nombre " & NameFrom, MsgBoxStyle.Information, "Prueba")
End Select
Catch ex As Exception
End Try
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar