How to manage keyboard input

When a node is selected on the diagram, if the user presses the delete key the node is removed.

I have tried using the keydown event and setting e.handled = true when the keycode = delete, but that does not have any effect.

Has anyone any ideas how I might achieve this.

2 Replies

DO Declan O'Loughlin November 4, 2009 04:53 PM UTC

Hi,

When I did a bit more digging I found the following
1. Add a handler for EventSink_NodeCollectionChanging
2. Record the delete key press using PreviewKeyDown


AddHandler Me.dgmProcesss.Model.EventSink.NodeCollectionChanging, AddressOf EventSink_NodeCollectionChanging

Private Sub EventSink_NodeCollectionChanging(ByVal e As CollectionExEventArgs)
If deletePressed Then
e.Cancel = True
deletePressed = False
End If
End Sub


DM Dinesh M Syncfusion Team November 9, 2009 09:41 AM UTC

Hi Declan,

Thanks for the update. You can also use the following code to prevent a node from being deleted.

AddHandler diagram.Model.EventSink.NodeCollectionChanging, AddressOf EventSink_NodeCollectionChanging

Private Sub EventSink_NodeCollectionChanging(ByVal evtArg As CollectionExEventArgs)
If (evtArg.ChangeType = CollectionExChangeType.Remove) Then
evtArg.Cancel = True
End If
End Sub

Regards,
Dinesh

Loader.
Up arrow icon