0

このプログラムは、VB 2008 で記述された Windows フォーム アプリです。データ テーブル (dtSubFolders) があり、その NodesCollection を再帰サブルーチンに送信して、ツリービュー (tv_Folder_Hierarchy) を繰り返し作成しています。一番下のデータが示すように、NodesCollection は正しく設定されているようです。ただし、ルートを展開すると、その 7 つの子が表示され、vs32host.exe が動作を停止しましたというエラーが表示されます。

   For Each row In dtSubFolders.Rows
        m_folder_Node = New TreeNode
        Get_TV_Node(tv_Folder_Hierarchy.Nodes, row(1).ToString)

        If Len(m_folder_Node.Name) > 0 Then
            m_folder_Node.Nodes.Add(row(0).ToString, row(2))
        Else
            tv_Folder_Hierarchy.Nodes.Add(row(0).ToString, row(2))
        End If
    Next

Private Sub Get_TV_Node(ByRef Nodes As TreeNodeCollection, ByVal Name As String)

    Dim node As TreeNode

    If Len(m_folder_Node.Name) = 0 Then
        For Each node In Nodes
            If node.Name = Name Then
                m_folder_Node = node
                Exit For
            Else
                If node.Nodes.Count > 0 Then Get_TV_Node(node.Nodes, Name)
            End If
        Next
    End If
End Sub
ID 親 子供 テキスト
1811 なし 7 ルート フォルダ
1818 1811 40 アワード作成
1828 1818 0 アワード作成サブ 1
1819 1818 0 アワード作成サブ 2
1824 1818 0 アワード作成サブ 3
1839 1818 0 アワード作成サブ 4
4

1 に答える 1

0

PLICK - 問題は、椅子とキーボードの間に横たわっています。慌てて、NodeMouseClick イベントにトラップされていない悪いコードがあることに気付きませんでした。

ばあ!

于 2012-07-18T12:08:44.550 に答える