TreeView1有关问题!请帮忙程序改错

TreeView1问题请教高手!在线等!请帮忙程序改错!
我想选中树的父结点然后他对应的子结点都被选中!程序如下:
Private   Sub   TreeView1_NodeCheck(ByVal   Node   As   MSComctlLib.Node)
        Dim   strKey   As   String
        Dim   i   As   Long
        strKey   =   Node.Key

        If   Node.Checked   =   True   Then

                For   i   =   1   To   TreeView1.Nodes.Count

                        If   TreeView1.Nodes(i).Parent.Key   <>   strKey   Then
                       
                        ElseIf   TreeView1.Nodes(i).Parent.Key   =   strKey   Then
                                TreeView1.Nodes(i).Checked   =   True
                        End   If
                Next
        Else
                For   i   =   1   To   TreeView1.Nodes.Count

                        If   TreeView1.Nodes(i).Parent.Key   <>   strKey   Then
                       
                        ElseIf   TreeView1.Nodes(i).Parent.Key   =   strKey   Then
                                TreeView1.Nodes(i).Checked   =   False
                        End   If
                Next
        End   If
End   Sub

下面这一句报错:(对象变量或with块变量未设置)
If   TreeView1.Nodes(i).Parent.Key   <>   strKey   Then  
请问怎么做啊?那位高手有什么高见的请帮忙!谢谢!小弟是分少了点!

------解决方案--------------------
加判断

If Not TreeView1.Nodes(i).Parent Is Nothing Then
If TreeView1.Nodes(i).Parent.Key <> strKey Then

ElseIf TreeView1.Nodes(i).Parent.Key = strKey Then
TreeView1.Nodes(i).Checked = True
End If
endif

*****************************************************************************
欢迎使用****论坛专用阅读器 : **** Reader(附全部源代码)

最新版本:20070130

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------
Private Sub TreeView1_NodeCheck(ByVal Node As MSComctlLib.Node)
Dim strKey As String
Dim i As Long
strKey = Node.Key

For i = 1 To TreeView1.Nodes.Count

If Not TreeView1.Nodes(i).Parent Is Nothing Then

TreeView1.Nodes(i).Checked =iif(TreeView1.Nodes(i).Parent.Key = strKey,Node.Checked,TreeView1.Nodes(i).Checked)
End If
Next

End Sub
------解决方案--------------------