Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: Rekursiivinen funktio

Physix [01.02.2013 09:44:45]

#

Moi,

Koetin tehdä funktion, joka palauttaisi treeview:stä treenoden tagin perusteella, mutta se en saa sitä toimimaan.

Function FindNode(ByVal nodeCol As TreeNodeCollection, ByVal tag As String)
        Dim tn As treenode
        For Each tn In nodecol
            If tn.tag = tag Then
                Return tn
            Else
                Return FindNode(tn.Nodes, tag)
            End If
        Next
End Function

ja näin kutsuin sitä:

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim treenode1 As TreeNode = FindNode(TreeView1.Nodes, TextBox1.Text.ToString)
        If treenode1 Is Nothing Then
            MsgBox("Treenode was not found")
        Else
            MsgBox("Treenode text = " & treenode1.Text.ToString)
        End If
End Sub

Osaisiko joku kertoa mitä teen väärin?

Lisäys:

Selvitinkin itse jo:

Function FindNode(ByVal nodeCol As TreeNodeCollection, ByVal tag As String)
        Dim tn As treenode
        For Each tn In nodecol
            If tn.tag = tag Then
                Return tn
            Else
                Dim tn2 As TreeNode = FindNode(tn.Nodes, tag)
                If Not tn2 Is Nothing Then
                    Return tn2
                End If
            End If
        Next
End Function

Ihme, että ei heti tullut tuo mieleen. :X

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta