Home All Groups Group Topic Archive Search About

Tree view node selection error

Author
11 Apr 2006 12:41 AM
Adam Honek
Hi,

I have the code below that I'm using in a tree view to detect what node the
user has clicked on.

It compiles but on runtime I get a type cast error.

I've used this method for both the tool bar and menu and it works fine
extending the "handles" property inherent within .net.

Isn't the type supposed to be "TreeNode"?



Private Sub tvSelectFolder_NodeMouseClick(ByVal sender As Object, ByVal e As
System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles
tvSelectFolder.NodeMouseClick

'Declare an object of type TreeNode

Dim pTreeViewNode As TreeNode

'Now let's find out which tree view node was clicked

pTreeViewNode = CType(sender, TreeNode)



'Each item corresponds to a different feature

Select Case pTreeViewNode.Name

'//Exit the program

Case "InboxNode"

End Select

End Sub

End Class



Thanks,

Adam

Author
11 Apr 2006 6:24 AM
Cor Ligthert [MVP]
Adam,

Did you set (as would be done as first if you have a casting problem) set in
top of your program or in the options: Option Strict On

That helps mostly to find casting errors.

Cor

Show quoteHide quote
"Adam Honek" <AdamHo***@Webmaster2001.freeserve.co.uk> schreef in bericht
news:%23X%23pLhPXGHA.3800@TK2MSFTNGP03.phx.gbl...
> Hi,
>
> I have the code below that I'm using in a tree view to detect what node
> the user has clicked on.
>
> It compiles but on runtime I get a type cast error.
>
> I've used this method for both the tool bar and menu and it works fine
> extending the "handles" property inherent within .net.
>
> Isn't the type supposed to be "TreeNode"?
>
>
>
> Private Sub tvSelectFolder_NodeMouseClick(ByVal sender As Object, ByVal e
> As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles
> tvSelectFolder.NodeMouseClick
>
> 'Declare an object of type TreeNode
>
> Dim pTreeViewNode As TreeNode
>
> 'Now let's find out which tree view node was clicked
>
> pTreeViewNode = CType(sender, TreeNode)
>
>
>
> 'Each item corresponds to a different feature
>
> Select Case pTreeViewNode.Name
>
> '//Exit the program
>
> Case "InboxNode"
>
> End Select
>
> End Sub
>
> End Class
>
>
>
> Thanks,
>
> Adam
>
>
Author
11 Apr 2006 1:36 PM
Claes Bergefall
I would guess that the sender argument is actually the TreeView itself
Use e.Node to get the clicked node

    /claes

Show quoteHide quote
"Adam Honek" <AdamHo***@Webmaster2001.freeserve.co.uk> wrote in message
news:%23X%23pLhPXGHA.3800@TK2MSFTNGP03.phx.gbl...
> Hi,
>
> I have the code below that I'm using in a tree view to detect what node
> the user has clicked on.
>
> It compiles but on runtime I get a type cast error.
>
> I've used this method for both the tool bar and menu and it works fine
> extending the "handles" property inherent within .net.
>
> Isn't the type supposed to be "TreeNode"?
>
>
>
> Private Sub tvSelectFolder_NodeMouseClick(ByVal sender As Object, ByVal e
> As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles
> tvSelectFolder.NodeMouseClick
>
> 'Declare an object of type TreeNode
>
> Dim pTreeViewNode As TreeNode
>
> 'Now let's find out which tree view node was clicked
>
> pTreeViewNode = CType(sender, TreeNode)
>
>
>
> 'Each item corresponds to a different feature
>
> Select Case pTreeViewNode.Name
>
> '//Exit the program
>
> Case "InboxNode"
>
> End Select
>
> End Sub
>
> End Class
>
>
>
> Thanks,
>
> Adam
>
>
Author
11 Apr 2006 11:49 PM
Adam Honek
Thanks, this does the trick using the "e" argument.

BTW, Option Strict was off.

Adam

Show quoteHide quote
"Claes Bergefall" <louplou@nospam.nospam> wrote in message
news:ODsVvyWXGHA.4976@TK2MSFTNGP03.phx.gbl...
>I would guess that the sender argument is actually the TreeView itself
> Use e.Node to get the clicked node
>
>    /claes
>
> "Adam Honek" <AdamHo***@Webmaster2001.freeserve.co.uk> wrote in message
> news:%23X%23pLhPXGHA.3800@TK2MSFTNGP03.phx.gbl...
>> Hi,
>>
>> I have the code below that I'm using in a tree view to detect what node
>> the user has clicked on.
>>
>> It compiles but on runtime I get a type cast error.
>>
>> I've used this method for both the tool bar and menu and it works fine
>> extending the "handles" property inherent within .net.
>>
>> Isn't the type supposed to be "TreeNode"?
>>
>>
>>
>> Private Sub tvSelectFolder_NodeMouseClick(ByVal sender As Object, ByVal e
>> As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles
>> tvSelectFolder.NodeMouseClick
>>
>> 'Declare an object of type TreeNode
>>
>> Dim pTreeViewNode As TreeNode
>>
>> 'Now let's find out which tree view node was clicked
>>
>> pTreeViewNode = CType(sender, TreeNode)
>>
>>
>>
>> 'Each item corresponds to a different feature
>>
>> Select Case pTreeViewNode.Name
>>
>> '//Exit the program
>>
>> Case "InboxNode"
>>
>> End Select
>>
>> End Sub
>>
>> End Class
>>
>>
>>
>> Thanks,
>>
>> Adam
>>
>>
>
>