コード例 #1
0
 /// <summary>
 /// Move all items up one
 /// </summary>
 public void MoveUpOne(int[] items)
 {
     Array.Sort <int>(items);
     Diagram[] diagrams = myDiagrams;
     for (int i = 0; i < items.Length; ++i)
     {
         int index = items[i];
         if (index > 0)
         {
             Diagram targetDiagram = diagrams[index];
             diagrams[index]     = diagrams[index - 1];
             diagrams[index - 1] = targetDiagram;
             BranchModificationEventHandler handler = myModifications;
             if (handler != null)
             {
                 handler(this, BranchModificationEventArgs.MoveItem(this, index, index - 1));
             }
         }
     }
 }
コード例 #2
0
            /// <summary>
            /// Move all items down one
            /// </summary>
            public void MoveDownOne(int[] items)
            {
                Array.Sort <int>(items);
                Diagram[] diagrams = myDiagrams;
                int       lastItem = diagrams.Length - 1;

                for (int i = items.Length - 1; i >= 0; --i)
                {
                    int index = items[i];
                    if (index < lastItem)
                    {
                        Diagram targetDiagram = diagrams[index];
                        diagrams[index]     = diagrams[index + 1];
                        diagrams[index + 1] = targetDiagram;
                        BranchModificationEventHandler handler = myModifications;
                        if (handler != null)
                        {
                            handler(this, BranchModificationEventArgs.MoveItem(this, index, index + 1));
                        }
                    }
                }
            }