private void tree_MouseDoubleClick(object sender, MouseEventArgs e) { m_lastDoubleClick = DateTime.Now; if (TreeBehaviour.AllowDoubleClickNodeHandling) { try { TreeNode node = tree.GetNodeAt(e.X, e.Y); if (node != null) { if (Control.ModifierKeys != Keys.None) { ((DATreeNode)node).ModifiedDoubleClick(Control.ModifierKeys); } else { ((DATreeNode)node).DoubleClick(); } MacroManager.DoubleClickNode(((DATreeNode)node).m_node); } } catch (Exception ex) { Errors.Report(ex); } } else { if (TreeDoubleClick != null) { TreeDoubleClick(sender, e); } } }
private void tree_KeyDown(object sender, KeyEventArgs e) { try { if (Selected == null) { return; } bool processed = false; if (e.KeyCode == Keys.Delete) { var sel = Selected; var par = sel.Parent; if (!processed) { processed = sel.Delete(); } MacroManager.DeleteNode(sel); //par.CompleteRefresh(); } else if (e.KeyCode == Keys.Enter) { if (!processed) { processed = Selected.DoubleClick(); } MacroManager.DoubleClickNode(Selected); } else if (e.KeyCode == Keys.F5) { if (!processed) { Selected.CompleteRefresh(true); processed = true; } } if (e.KeyCode == Keys.C && e.Control) { CallCopy(); processed = true; } if (e.KeyCode == Keys.V && e.Control && btnPaste.Enabled) { btnPaste.ShowDropDown(); processed = true; } if (e.KeyCode == Keys.G && e.Control && Selected != null) { var appobj = Selected.GetFirstValidAppObject(); if (appobj != null) { if (appobj.GenerateSqlVisible()) { appobj.GenerateSql(new object[] { appobj }); } } processed = true; } if (!processed) { var mb = new MenuBuilder(); Selected.GetPopupMenu(mb); mb.ProcessKeyDown(e.KeyCode); } } catch (Exception ex) { Errors.Report(ex); } }