private void treeList1_DoubleClick(object sender, EventArgs e) { try { DevExpress.XtraTreeList.TreeList tree = sender as DevExpress.XtraTreeList.TreeList; DevExpress.XtraTreeList.TreeListHitInfo hi = tree.CalcHitInfo(tree.PointToClient(Control.MousePosition)); if (hi.Node != null) { CTechCore.Models.Navigation.Menus.MenuItem mnu = new CTechCore.Models.Navigation.Menus.MenuItem(((DataRowView)tree.GetDataRecordByNode(tree.Selection[0])).Row); if (mnu.DisplayAllFormBeforeLoad) { CTechCore.Models.Navigation.Menus.DisplayListAll(mnu); } else { CTechCore.Models.Navigation.Menus.LoadEntityForm(mnu); } } } catch (Exception ex) { string msg = $"Error loading screen : {ex.Message}.\r\n {ex.StackTrace}"; if (ex.InnerException != null) { msg += ex.InnerException.ToString(); } MessageBox.Show(msg); MyApp.Log.WriteEntry(msg, System.Diagnostics.EventLogEntryType.Error); } }
private DragDropEffects GetProjectTreeDragDropEffect(DevExpress.XtraTreeList.TreeList tl, TreeListNode dragNode) { Point p = tl.PointToClient(MousePosition); var targetNode = tl.CalcHitInfo(p).Node; if (dragNode == null || targetNode == null || dragNode == targetNode) { return(DragDropEffects.None); } if (dragNode.Tag == null || targetNode.Tag == null) { return(DragDropEffects.None); } var t1 = dragNode.Tag.GetType(); var t2 = targetNode.Tag.GetType(); if (t1 == typeof(ViewportInfo) || t1.IsSubclassOf(typeof(ViewportInfo))) { if (t2 != t1) { return(DragDropEffects.None); } if (dragNode.ParentNode != targetNode.ParentNode) { return(DragDropEffects.None); } } else if (t1.IsSubclassOf(typeof(ElementInfo))) { if (!t2.IsSubclassOf(typeof(ElementInfo)) && !(t2 == typeof(ViewportInfo) || t2.IsSubclassOf(typeof(ViewportInfo)))) { return(DragDropEffects.None); } } return(DragDropEffects.Move); }