不好意思,寫漏了一句,我調試過了
Dim x As Integer
On Error Resume Next
x = tv.Nodes("當前節點").Child.FirstSibling.Index
Do While x <= tv.Nodes("當前節點").Child.LastSibling.Index
tv.Nodes(x).Checked = True
x = tv.Nodes(x).Next.Index
If Err.Number = 91 Then
Err.Clear
Exit Do
End If
Loop
Private Sub lst1_NodeCheck(ByVal Node As MSComctlLib.Node)
If lst1.Nodes.Count < 1 Then Exit Sub
On Error Resume Next
Dim iChecked As Boolean
Dim i As Long
iChecked = Node.Checked
If (Node.Key = "Root") Then
i = Node.Index + 1
For i = Node.Index + 1 To lst1.Nodes.Count
lst1.Nodes(i).Checked = iChecked
Next
ElseIf Not (Node.Parent.Key <> "" And Node.Parent.Key <> "Root") Then
For i = Node.Index + 1 To lst1.Nodes.Count
If lst1.Nodes(i).Parent.Key = Node.Key Then
lst1.Nodes(i).Checked = iChecked
End If
Next
End If
End Sub
on error resume next
Do While X <= tv.Nodes("當前節點").Child.LastSibling.Index
tv.Nodes(X).Checked = True
X = tv.Nodes(X).Next.Index
If Err.Number = 91 Then
Err.Clear
Exit Do
End If
Loop
加點分如何,5分太少了吧??