Jelajahi Sumber

修改组视图组可排序

cxs 3 bulan lalu
induk
melakukan
cc8ee08623

+ 1 - 0
OTSPartA_STDEditor/BaseClass/STDInfo.cs

@@ -101,6 +101,7 @@ namespace OTSPartA_STDEditor.BaseClass
                                 }
                             }
                             STDDictionary.Add(int.Parse(item["STDId"].ToString()), new_STDdata);
+                            STDDictionaryInitial.Add(int.Parse(item["STDId"].ToString()), new_STDdata);
                         }
                     }
                 }

+ 3 - 5
OTSPartA_STDEditor/UI/Form_GroupId.Designer.cs

@@ -81,19 +81,19 @@
             this.ToolStripMenuItem_add,
             this.删除组ToolStripMenuItem});
             this.contextMenuStrip_GroupId.Name = "contextMenuStrip_GroupId";
-            this.contextMenuStrip_GroupId.Size = new System.Drawing.Size(181, 70);
+            this.contextMenuStrip_GroupId.Size = new System.Drawing.Size(113, 48);
             // 
             // ToolStripMenuItem_add
             // 
             this.ToolStripMenuItem_add.Name = "ToolStripMenuItem_add";
-            this.ToolStripMenuItem_add.Size = new System.Drawing.Size(180, 22);
+            this.ToolStripMenuItem_add.Size = new System.Drawing.Size(112, 22);
             this.ToolStripMenuItem_add.Text = "添加组";
             this.ToolStripMenuItem_add.Click += new System.EventHandler(this.添加组ToolStripMenuItem_Click);
             // 
             // 删除组ToolStripMenuItem
             // 
             this.删除组ToolStripMenuItem.Name = "删除组ToolStripMenuItem";
-            this.删除组ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
+            this.删除组ToolStripMenuItem.Size = new System.Drawing.Size(112, 22);
             this.删除组ToolStripMenuItem.Text = "删除组";
             this.删除组ToolStripMenuItem.Click += new System.EventHandler(this.删除组ToolStripMenuItem_Click);
             // 
@@ -107,7 +107,6 @@
             this.button_up.TabIndex = 9;
             this.button_up.Text = "↑";
             this.button_up.UseVisualStyleBackColor = true;
-            this.button_up.Visible = false;
             this.button_up.Click += new System.EventHandler(this.button_up_Click);
             // 
             // button_down
@@ -120,7 +119,6 @@
             this.button_down.TabIndex = 10;
             this.button_down.Text = "↓";
             this.button_down.UseVisualStyleBackColor = true;
-            this.button_down.Visible = false;
             this.button_down.Click += new System.EventHandler(this.button_down_Click);
             // 
             // Form_GroupId

+ 18 - 18
OTSPartA_STDEditor/UI/Form_Main.resx

@@ -121,109 +121,109 @@
   <data name="ribbonOrbRecentItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        wgAADsIBFShKgAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonOrbRecentItem1.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wgAADsIBFShKgAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonOrbOptionButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        wgAADsIBFShKgAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonOrbOptionButton1.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wgAADsIBFShKgAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonOrbMenuItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        wgAADsIBFShKgAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonOrbMenuItem1.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wgAADsIBFShKgAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonDescriptionMenuItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        wgAADsIBFShKgAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonDescriptionMenuItem1.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wgAADsIBFShKgAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonColorChooser1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        wgAADsIBFShKgAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonColorChooser1.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wgAADsIBFShKgAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonOrbMenuItem2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        wgAADsIBFShKgAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonOrbMenuItem2.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wgAADsIBFShKgAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        wgAADsIBFShKgAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonButton1.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wgAADsIBFShKgAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        wgAADsIBFShKgAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonButton2.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wgAADsIBFShKgAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonButton3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        wgAADsIBFShKgAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="ribbonButton3.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wgAADsIBFShKgAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
 </root>

+ 69 - 44
OTSPartA_STDEditor/UI/STDRuleslist.cs

@@ -4,6 +4,7 @@ using System;
 using System.Collections.Generic;
 using System.Drawing;
 using System.Drawing.Imaging;
+using System.Linq;
 using System.Runtime.InteropServices;
 
 using System.Windows.Forms;
@@ -412,16 +413,6 @@ namespace OTSPartA_STDEditor
             {
                 ConvertToRuleViewDic();
                 InitRuleView();
-                //int i = Grid_Minerals.Selection.ActivePosition.Row;
-                //int j = Grid_Minerals.Selection.ActivePosition.Column;
-                //if (i >= 0 && j >= 0)
-                //{
-                //    int id = ((STDdata)Grid_Minerals[i, 0].Tag).STDId;
-                //    if (m_MainForm._sTDEditor.STDDictionary.ContainsKey(id))
-                //    {
-                //        m_MainForm.ChangeSTDEditorAndGrid_Attributes(id);
-                //        Predata = (STDdata)Grid_Minerals[i, 0].Tag;
-                //    }
                 if (m_MainForm._sTDEditor.STDDictionary.Count == 0)
                 {
                     m_MainForm.SetNull();
@@ -466,6 +457,11 @@ namespace OTSPartA_STDEditor
             m_MainForm._sTDEditor.GroupIdDictionaryFromId.Clear();
             m_MainForm._sTDEditor.GroupIdDictionaryFromName.Clear();
             m_MainForm._sTDEditor.STDDictionary.Clear();
+            for(int i=0;i< treeView_G.Nodes.Count;i++)
+            {
+                STDGroups tDGroups = (STDGroups)treeView_G.Nodes[i].Tag;
+                GroupViewDic[tDGroups.id].iorder = i;
+            }
             foreach (STDGroups group in GroupViewDic.Values)
             {
                 foreach (STDdata Ddata in group.ContainSTD)
@@ -573,27 +569,38 @@ namespace OTSPartA_STDEditor
                 MessageBox.Show("Please select a group!", "Tip");
             }
         }
-
         void InitGroupView()
         {
             treeView_G.ImageList=new ImageList();
             treeView_G.Nodes.Clear();
             treeView_G.ImageList.ColorDepth = ColorDepth.Depth32Bit;
+            List<STDGroups> groups = new List<STDGroups>();
             foreach (STDGroups group in GroupViewDic.Values)
+            {
+                groups.Add(group);
+            }
+            groups=groups.OrderBy(s => s.iorder).ToList();
+
+
+
+
+
+
+            for (int i=0;i< groups.Count;i++)
             {
                 TreeNode treeNode = new TreeNode();
-                treeNode.Tag = group;
-                treeNode.Text = group.name;
-                Color color = Attributes.colorHx16toRGB(group.color);
+                treeNode.Tag = groups[i];
+                treeNode.Text = groups[i].name;
+                Color color = Attributes.colorHx16toRGB(groups[i].color);
                 Bitmap bitmap = new Bitmap(100, 100, PixelFormat.Format32bppArgb);
                 Graphics graphics = Graphics.FromImage(bitmap);
                 SolidBrush b1 = new SolidBrush(color);
                 graphics.FillEllipse(b1, new Rectangle(0, 0, 100, 100));
-                treeView_G.ImageList.Images.Add(group.id.ToString(),bitmap);
-                treeNode.ImageKey = group.id.ToString();
-                treeNode.SelectedImageKey = group.id.ToString();
+                treeView_G.ImageList.Images.Add(groups[i].id.ToString(),bitmap);
+                treeNode.ImageKey = groups[i].id.ToString();
+                treeNode.SelectedImageKey = groups[i].id.ToString();
                 treeView_G.Nodes.Add(treeNode);
-                foreach (STDdata ddata in group.ContainSTD)
+                foreach (STDdata ddata in groups[i].ContainSTD)
                 {
                     TreeNode childtreeNode = new TreeNode();
                     childtreeNode.Tag = ddata;
@@ -674,10 +681,10 @@ namespace OTSPartA_STDEditor
             {
                 m_targetNode = null;
                 TreeNode _node = (TreeNode)e.Item;
-                if (_node.Level > 0)
-                {
+                //if (_node.Level > 0)
+                //{
                     DoDragDrop(e.Item, DragDropEffects.Move | DragDropEffects.Copy);
-                }
+                //}
             }
         }
         TreeNode m_targetNode;      //用于记录当前拖拽到的目标节点;
@@ -686,40 +693,54 @@ namespace OTSPartA_STDEditor
             if (m_targetNode != null)
             {
                 TreeNode _node = (TreeNode)e.Data.GetData(typeof(TreeNode));
-                if (!m_targetNode.Equals(_node))
+                if (_node.Level == 1)
                 {
-                    if (m_targetNode.Level == _node.Level)
+                    if (!m_targetNode.Equals(_node))
                     {
-                        if (_node.Parent.Equals(m_targetNode.Parent))
+                        if (m_targetNode.Level == _node.Level)
                         {
-                            _node.Remove();
-                            m_targetNode.Parent.Nodes.Insert(m_targetNode.Index, _node);
-                            m_targetNode.Parent.ExpandAll();
+                            if (_node.Parent.Equals(m_targetNode.Parent))
+                            {
+                                _node.Remove();
+                                m_targetNode.Parent.Nodes.Insert(m_targetNode.Index, _node);
+                                m_targetNode.Parent.ExpandAll();
+                            }
+                            else
+                            {
+                                GroupViewDic[((STDGroups)_node.Parent.Tag).id].ContainSTD.Remove((STDdata)_node.Tag);
+                                _node.Remove();
+                                ((STDdata)_node.Tag).GroupId = ((STDGroups)m_targetNode.Parent.Tag).id;
+                                m_targetNode.Parent.Nodes.Add(_node);
+                                GroupViewDic[((STDGroups)m_targetNode.Parent.Tag).id].ContainSTD.Add((STDdata)_node.Tag);
+                                treeView_G.SelectedNode = _node; // 选中节点
+                                m_targetNode.Parent.Expand(); // 展开父节点
+                                m_MainForm.ChangeSTDEditorAndGrid_Attributes(int.Parse(((STDdata)_node.Tag).STDId.ToString()));
+                                Predata = (STDdata)_node.Tag;
+                            }
                         }
                         else
                         {
                             GroupViewDic[((STDGroups)_node.Parent.Tag).id].ContainSTD.Remove((STDdata)_node.Tag);
                             _node.Remove();
-                            ((STDdata)_node.Tag).GroupId = ((STDGroups)m_targetNode.Parent.Tag).id;
-                            m_targetNode.Parent.Nodes.Add(_node);
-                            GroupViewDic[((STDGroups)m_targetNode.Parent.Tag).id].ContainSTD.Add((STDdata)_node.Tag);
+                            ((STDdata)_node.Tag).GroupId = ((STDGroups)m_targetNode.Tag).id;
+                            m_targetNode.Nodes.Add(_node);
+                            GroupViewDic[((STDGroups)m_targetNode.Tag).id].ContainSTD.Add((STDdata)_node.Tag);
                             treeView_G.SelectedNode = _node; // 选中节点
-                            m_targetNode.Parent.Expand(); // 展开父节点
+                            m_targetNode.Expand(); // 展开父节点
                             m_MainForm.ChangeSTDEditorAndGrid_Attributes(int.Parse(((STDdata)_node.Tag).STDId.ToString()));
                             Predata = (STDdata)_node.Tag;
                         }
                     }
-                    else
+                }
+                else
+                {
+                    if (!m_targetNode.Equals(_node))
                     {
-                        GroupViewDic[((STDGroups)_node.Parent.Tag).id].ContainSTD.Remove((STDdata)_node.Tag);
-                        _node.Remove();
-                        ((STDdata)_node.Tag).GroupId = ((STDGroups)m_targetNode.Tag).id;
-                        m_targetNode.Nodes.Add(_node);
-                        GroupViewDic[((STDGroups)m_targetNode.Tag).id].ContainSTD.Add((STDdata)_node.Tag);
-                        treeView_G.SelectedNode = _node; // 选中节点
-                        m_targetNode.Expand(); // 展开父节点
-                        m_MainForm.ChangeSTDEditorAndGrid_Attributes(int.Parse(((STDdata)_node.Tag).STDId.ToString()));
-                        Predata = (STDdata)_node.Tag;
+                        if (m_targetNode.Level == _node.Level)
+                        {
+                                _node.Remove();
+                                treeView_G.Nodes.Insert(m_targetNode.Index+1, _node);
+                        }
                     }
                 }
                 m_targetNode = null;
@@ -824,13 +845,17 @@ namespace OTSPartA_STDEditor
                 
                 if (treeView_G.SelectedNode.Level == 0)
                 {
-                    
+
                     if (treeView_G.SelectedNode.Text == "Default")
-                {
+                    {
                         MessageBox.Show("默认组不能更改名称!", "Tip");
+                        treeView_G.SelectedNode.EndEdit(true);
                         return;
                     }
-                    treeView_G.SelectedNode.BeginEdit();
+                    else
+                    {
+                        treeView_G.SelectedNode.BeginEdit();
+                    }
                 }
                 else
                 {