コード例 #1
0
ファイル: DATreeView.cs プロジェクト: janproch/datadmin
 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);
         }
     }
 }
コード例 #2
0
ファイル: DATreeView.cs プロジェクト: janproch/datadmin
        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);
            }
        }