Category / Section
Why do I have trouble accessing my custom symbol from the Diagram.NodeDoubleClick event handler?
1 min read
Why do I have trouble accessing my custom symbol from the Diagram.NodeDoubleClick event handler?
The symbol object is a composite node that is made up of several other child nodes. Clicking on a symbol generates the Diagram.NodeDoubleClick event for each of these child nodes and so attempting to directly cast the NodeMouseEventArgs.Node member to the symbol type will result in an invalid cast exception. This condition can be avoided by providing a simple type check for the required symbol class. The following code shows an implementation:
[C#]
private void diagram1_NodeDoubleClick(object sender, Syncfusion.Windows.Forms.Diagram.NodeMouseEventArgs evtArgs) { if((evtArgs.Node != null) && (evtArgs.Node is MySymbol)) { MySymbol symbolclicked = evtArgs.Node as MySymbol; Trace.WriteLine("NodeDoubleClick"); } }
[VB.NET]
Private Sub diagram1_NodeDoubleClick(ByVal sender As Object, ByVal evtArgs As Syncfusion.Windows.Forms.Diagram.NodeMouseEventArgs) Handles diagram1.NodeDoubleClick If Not (evtArgs.Node Is Nothing) And (TypeOf (evtArgs.Node) Is MySymbol) Then Dim symbolclicked As MySymbol = CType(evtArgs.Node, MySymbol) Trace.WriteLine(symbolclicked.Name) End If End Sub