I have read in the documentation that by default there is Keyboard support, such as in Visio. What our users desire is to use the arrow keys ( to move selected items ), tab and shift + tab ( to move forward and backward through the list of objects ) and Enter ( to select and item ). This is the behavior that Visio has. Since I could not seem to get the default tool to work, I have implemented most of this behavior in the KeyDown event. They only behavior I have not been able to perform is the tabbing or moving from one object to the other.
Note: By default the Escape and Delete keys do work.
The User Guide does describe the default keyboard support, but GoDiagram does not try to emulate Visio or any other drawing package. There are just too many possible meanings for the arrow keys, especially considering modifiers. And Tab and Enter are normally used by Forms for focus and the default Control, so we wanted to be compatible with that.
You may need to override Control.IsInputKey and/or Control.ProcessDialogKey or some related method–sorry, but I can’t recall the details of this WinForms issue.
Okay, I am overriding OnKeyDown to do the work. As I mentioned before I am able to move objects with the arrow keys using the views MoveSelection method. Now I need to know what method to call to move from one object to the other using the tab key. I would lilke to be able to move forward or backwards if the shift key is pressed. I am also trying to simulate muliti-select with the key board as well.
You’ll need to decide which object(s) to add to the GoView’s Selection, replacing or adding to whatever had been selected. There are a lot of choices for how to decide–that’s something you’ll need to figure out.