none
TreeView RRS feed

  • Pregunta

  • Buenos días a todos,

    ¿Sabria alguien decirme como puedo saber en numero, cuantos nodos tengo seleccionados y cuando selecciono un nodo que se  ponga en azul?

    Gracias

    jueves, 21 de junio de 2018 6:59

Respuestas

  • Para tener la cuenta de nodos seleccionados puedes trabajar con una lista que los vaya almacenando:

    Dim CheckedNodes As List(Of TreeNode)

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.CheckedNodes = New List(Of TreeNode)  ' Inicializas la lista
    End Sub


    Private Sub TreeView1_BeforeCheck(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewCancelEventArgs) Handles TreeView1.BeforeCheck
        
        If Not e.Node.Checked Then
            Me.CheckedNodes.Add(e.Node)  ' Nuevo nodo seleccionado
            e.Node.ForeColor = Color.Blue  ' Marca en azul

        Else ' else (if checked and going to be un-chekced)
             Me.CheckedNodes.Remove(e.Node)  ' Se ha desmarcado un nodo que estaba seleccionado
             e.Node.ForeColor = Color.Black
        End If

    End Sub


    Saludos, Javier J

    jueves, 21 de junio de 2018 7:21

Todas las respuestas

  • Para tener la cuenta de nodos seleccionados puedes trabajar con una lista que los vaya almacenando:

    Dim CheckedNodes As List(Of TreeNode)

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.CheckedNodes = New List(Of TreeNode)  ' Inicializas la lista
    End Sub


    Private Sub TreeView1_BeforeCheck(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewCancelEventArgs) Handles TreeView1.BeforeCheck
        
        If Not e.Node.Checked Then
            Me.CheckedNodes.Add(e.Node)  ' Nuevo nodo seleccionado
            e.Node.ForeColor = Color.Blue  ' Marca en azul

        Else ' else (if checked and going to be un-chekced)
             Me.CheckedNodes.Remove(e.Node)  ' Se ha desmarcado un nodo que estaba seleccionado
             e.Node.ForeColor = Color.Black
        End If

    End Sub


    Saludos, Javier J

    jueves, 21 de junio de 2018 7:21
  • gracias
    jueves, 21 de junio de 2018 8:58