Visual Basic.NET - Ocultar Automaticamente Treeview

 
Vista:
Imágen de perfil de Cristian
Val: 71
Ha disminuido su posición en 6 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Ocultar Automaticamente Treeview

Publicado por Cristian (90 intervenciones) el 29/03/2019 13:16:24
Hola a todos... siguiendo con el treeview, necesito ocultarlo de forma automatica al pasar el mouse.

Gracias
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
Imágen de perfil de Phil Rob
Val: 2.160
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Ocultar Automaticamente Treeview

Publicado por Phil Rob (531 intervenciones) el 29/03/2019 17:45:44
Hola Cristian,

Creo que el codigo siguiente responde a tu pregunta :

1
2
3
4
5
6
7
Private Sub MiTreeView_NodeMouseHover(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseHoverEventArgs) Handles MiTreeView.NodeMouseHover
    If e.Node.IsExpanded Then
        e.Node.Collapse()
    Else
        e.Node.Expand()
    End If
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
Imágen de perfil de Cristian
Val: 71
Ha disminuido su posición en 6 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Ocultar Automaticamente Treeview

Publicado por Cristian (90 intervenciones) el 30/03/2019 13:07:23
Hola Phil, gracias por contestar.
Te explico, lo que necesito es ocultar todo el control (como si fuera la barra de tareas de Windows) ya que llamo a un formulario y me queda abajo, entonces necesito que quede oculto hasta pasar el mouse.

Espero haber sido claro.

Saludos
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
Imágen de perfil de Phil Rob
Val: 2.160
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Ocultar Automaticamente Treeview

Publicado por Phil Rob (531 intervenciones) el 30/03/2019 14:02:40
Puede poner un formulario delante otro por "TopMost", un TreeView puede ser ocultado con "Visible = False" o Hide.
Y un TreeView responde muy bien a el codigo de los eventos MouseEnter y MouseLeave (mejor que MouseHover), pero no si es ocultado.

No estoy seguro de bien compender tu pregunta ...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Button1_Click(... ... ...
 
    If MiTreeView.Visible Then
        MiTreeView.Hide()
    Else
        MiTreeView.Show()
    End If
    ' ............
 
Private Sub MiTreeView_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles MiTreeView.MouseEnter
    MessageBox.Show("Hola")
End Sub
 
Private Sub MiTreeView_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles MiTreeView.MouseLeave
    MessageBox.Show("Saludos")
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
Imágen de perfil de Cristian
Val: 71
Ha disminuido su posición en 6 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Ocultar Automaticamente Treeview

Publicado por Cristian (90 intervenciones) el 30/03/2019 14:10:26
Phil... gracias por tu explicación.
Te lo intentare explicar mejor ya que me dices no comprender bien mi pregunta.

Necesito hacer con el treeview lo que sucede cuando ponemos la barra de tareas de windows (ocultar automáticamente) para que solo aparezca al pasar el mause elegir opciones y que se oculte nuevamente.

Fui un poco mas claro ?

Muchas gracias
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
Imágen de perfil de Phil Rob
Val: 2.160
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Ocultar Automaticamente Treeview

Publicado por Phil Rob (531 intervenciones) el 30/03/2019 15:01:45
Entonces, habia bien compredido pero no es posible :
El TreeView mostra nombre de formularios y deba es ocultado cuando un formulario es visible.

Propongo que una vez el formulario llamado, el TreeView sea ocultado con "MiTreeView.Hide". Y después, cuando el formulario es cerrado, mostrar el TreeView con "MiTreeView.Show". Este puede ser programado en el Evento "Close" de cado formulairo.
Cuidado, cuando un formulario tiene el Focus, otros no vean el raton ...
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
Imágen de perfil de Cristian
Val: 71
Ha disminuido su posición en 6 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Ocultar Automaticamente Treeview

Publicado por Cristian (90 intervenciones) el 30/03/2019 16:39:17
Gracias Phil... vere que hago... Cualquier cosa te comento.

saludos
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
Imágen de perfil de Phil Rob
Val: 2.160
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Ocultar Automaticamente Treeview

Publicado por Phil Rob (531 intervenciones) el 30/03/2019 17:04:27
Vea el codigo siguiente :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Dim WithEvents FSeg As New Form
 
Private Sub MiTreeView_NodeMouseHover(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseHoverEventArgs) Handles MiTreeView.NodeMouseHover
    Select Case e.Node.Text
        Case "FSegundarioA"
            FSeg = FSegundarioA
        Case "FSegundarioB"
            FSeg = FSegundarioB
    End Select
    FSeg.Show()
    MiTreeView.Hide()
End Sub
 
Private Sub FSeg_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles FSeg.FormClosed
    MiTreeView.Show()
End Sub

La idea es Dim WithEvents FSeg As New Form. ¿es una buena idea?
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
Imágen de perfil de Cristian
Val: 71
Ha disminuido su posición en 6 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Ocultar Automaticamente Treeview

Publicado por Cristian (90 intervenciones) el 30/03/2019 22:21:19
Gracias Phil... empece a solucionarlo de esta manera:
Para llamar a los formularios:

1
2
3
4
5
6
7
8
9
10
11
12
Private Sub TreeMenu_NodeMouseHover
    Select Case e.Node.Text
        Case "Clientes"
            frmClientes.MdiParent = Me
            frmClientes.Show()
 
        Case "Localidades"
            frmLocalidades.MdiParent = Me
            frmLocalidades.Show()
    End Select
 
End Sub

Para ocultar y mostrar:

1
2
3
4
5
6
7
Private Sub TreeMenu_MouseLeave(sender As Object, e As EventArgs) Handles TreeMenu.MouseLeave
    TreeMenu.Width = 10
End Sub
 
Private Sub TreeMenu_MouseEnter(sender As Object, e As EventArgs) Handles TreeMenu.MouseEnter
    TreeMenu.Width = 165
End Sub

Que te parece ?
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
Imágen de perfil de Phil Rob
Val: 2.160
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Ocultar Automaticamente Treeview

Publicado por Phil Rob (531 intervenciones) el 31/03/2019 00:15:52
Bravo !
De esta manera, utilizas el raton para mostrar y para ocultar.
Gracias para la información.
Buena nocha ...
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
Imágen de perfil de Phil Rob
Val: 2.160
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Ocultar Automaticamente Treeview

Publicado por Phil Rob (531 intervenciones) el 31/03/2019 09:46:45
Hola Cristian,

Probo tu codigo esta manaña.
Para tolerar las moficaciónes durante los reglajes del "Design" de tu programa, propongo el codigo siguiente (con la variable Ancho) :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim Ancho As Integer = 0
 
    Private Sub MiTreeView_NodeMouseHover(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseHoverEventArgs) Handles MiTreeView.NodeMouseHover
        Select Case e.Node.Text
' ... ... ...
        If Ancho = 0 Then Ancho = MiTreeView.Width  ' Es necesario de probar si 0, si no el TreeView siempre ocultado
    End Sub
 
    Private Sub MiTreeView_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles MiTreeView.MouseEnter
        If Ancho > 0 Then MiTreeView.Width = Ancho
    End Sub
 
    Private Sub MiTreeView_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles MiTreeView.MouseLeave
        If Ancho > 0 Then MiTreeView.Width = Ancho / 10     ' 10 es un ejemplo
    End Sub

Que tenga un buen día,
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
Imágen de perfil de Cristian
Val: 71
Ha disminuido su posición en 6 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Ocultar Automaticamente Treeview

Publicado por Cristian (90 intervenciones) el 31/03/2019 15:02:05
Gracias Phil.. Probé tu código, funciona perfecto.

Saludos...
Que tengas buen día también !!!!!
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