OSDN Git Service

Merge branch 'feature/37178_プロジェクトとソリューションファイルの英語化' into develop
[dtxmania/dtxmania.git] / DTXCreatorプロジェクト / コード / 05.譜面 / C選択モード管理.cs
diff --git a/DTXCreatorプロジェクト/コード/05.譜面/C選択モード管理.cs b/DTXCreatorプロジェクト/コード/05.譜面/C選択モード管理.cs
deleted file mode 100644 (file)
index 292ec5b..0000000
+++ /dev/null
@@ -1,869 +0,0 @@
-using System;\r
-using System.Collections.Generic;\r
-using System.Diagnostics;\r
-using System.Text;\r
-using System.Windows.Forms;\r
-using System.Drawing;\r
-using DTXCreator.UndoRedo;\r
-using DTXCreator.Properties;\r
-\r
-namespace DTXCreator.譜面\r
-{\r
-       public class C選択モード管理\r
-       {\r
-               public C選択モード管理( Cメインフォーム formメインフォーム )\r
-               {\r
-                       this._Form = formメインフォーム;\r
-                       this.mgr譜面管理者ref = formメインフォーム.mgr譜面管理者;\r
-               }\r
-               public void t検索する()\r
-               {\r
-                       this._Form.dlgチップパレット.t一時的に隠蔽する();\r
-                       this.t検索する_メイン();\r
-                       this._Form.dlgチップパレット.t一時的な隠蔽を解除する();\r
-               }\r
-               public void t個別選択解除( Cチップ cc )\r
-               {\r
-                       Cチップ位置用UndoRedo redo = new Cチップ位置用UndoRedo( this.mgr譜面管理者ref.pチップの存在する小節を返す( cc ).n小節番号0to3599, cc.nレーン番号0to, cc.n位置grid, cc.n値_整数1to1295);\r
-                       this._Form.mgrUndoRedo管理者.tノードを追加する( new CUndoRedoセル<Cチップ位置用UndoRedo>( null, new DGUndoを実行する<Cチップ位置用UndoRedo>( this.mgr譜面管理者ref.tチップ選択解除のUndo ), new DGRedoを実行する<Cチップ位置用UndoRedo>( this.mgr譜面管理者ref.tチップ選択解除のRedo ), redo, redo ) );\r
-                       this._Form.tUndoRedo用GUIの有効無効を設定する();\r
-                       cc.b確定選択中 = false;\r
-               }\r
-               public void t全チップの選択を解除する()\r
-               {\r
-                       this._Form.mgrUndoRedo管理者.tトランザクション記録を開始する();\r
-                       foreach( KeyValuePair<int, C小節> pair in this.mgr譜面管理者ref.dic小節 )\r
-                       {\r
-                               C小節 c小節 = pair.Value;\r
-                               for( int j = 0; j < c小節.listチップ.Count; j++ )\r
-                               {\r
-                                       Cチップ cチップ = c小節.listチップ[ j ];\r
-                                       if( cチップ.n枠外レーン数 != 0 )\r
-                                       {\r
-                                               Cチップ cc = new Cチップ();\r
-                                               cc.tコピーfrom( cチップ );\r
-                                               Cチップ配置用UndoRedo redo = new Cチップ配置用UndoRedo( c小節.n小節番号0to3599, cc );\r
-                                               this._Form.mgrUndoRedo管理者.tノードを追加する( new CUndoRedoセル<Cチップ配置用UndoRedo>( null, new DGUndoを実行する<Cチップ配置用UndoRedo>( this.mgr譜面管理者ref.tチップ削除のUndo ), new DGRedoを実行する<Cチップ配置用UndoRedo>( this.mgr譜面管理者ref.tチップ削除のRedo ), redo, redo ) );\r
-                                               c小節.listチップ.Remove( cチップ );\r
-                                               j = -1;\r
-                                       }\r
-                               }\r
-                       }\r
-                       for( int i = 0; i < this.mgr譜面管理者ref.dic小節.Count; i++ )\r
-                       {\r
-                               C小節 c小節2 = this.mgr譜面管理者ref.dic小節[ i ];\r
-                               for( int k = 0; k < c小節2.listチップ.Count; k++ )\r
-                               {\r
-                                       Cチップ cチップ3 = c小節2.listチップ[ k ];\r
-                                       if( cチップ3.b確定選択中 || cチップ3.bドラッグで選択中 )\r
-                                       {\r
-                                               this.mgr譜面管理者ref.bOPENチップである( cチップ3 );\r
-                                               for( int m = 0; m < c小節2.listチップ.Count; m++ )\r
-                                               {\r
-                                                       Cチップ cチップ4 = c小節2.listチップ[ m ];\r
-                                                       if( ( ( k != m ) && ( cチップ3.nレーン番号0to == cチップ4.nレーン番号0to ) ) && ( ( cチップ3.n位置grid == cチップ4.n位置grid ) && !cチップ4.b確定選択中 ) )\r
-                                                       {\r
-                                                               Cチップ cチップ5 = new Cチップ();\r
-                                                               cチップ5.tコピーfrom( cチップ4 );\r
-                                                               Cチップ配置用UndoRedo redo2 = new Cチップ配置用UndoRedo( c小節2.n小節番号0to3599, cチップ5 );\r
-                                                               this._Form.mgrUndoRedo管理者.tノードを追加する( new CUndoRedoセル<Cチップ配置用UndoRedo>( null, new DGUndoを実行する<Cチップ配置用UndoRedo>( this.mgr譜面管理者ref.tチップ削除のUndo ), new DGRedoを実行する<Cチップ配置用UndoRedo>( this.mgr譜面管理者ref.tチップ削除のRedo ), redo2, redo2 ) );\r
-                                                               c小節2.listチップ.RemoveAt( m );\r
-                                                               k = -1;\r
-                                                               break;\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                               }\r
-                       }\r
-                       foreach( KeyValuePair<int, C小節> pair2 in this.mgr譜面管理者ref.dic小節 )\r
-                       {\r
-                               C小節 c小節3 = pair2.Value;\r
-                               for( int n = 0; n < c小節3.listチップ.Count; n++ )\r
-                               {\r
-                                       Cチップ cチップ6 = c小節3.listチップ[ n ];\r
-                                       if( cチップ6.b確定選択中 )\r
-                                       {\r
-                                               Cチップ位置用UndoRedo redo3 = new Cチップ位置用UndoRedo( c小節3.n小節番号0to3599, cチップ6.nレーン番号0to, cチップ6.n位置grid, cチップ6.n値_整数1to1295);\r
-                                               this._Form.mgrUndoRedo管理者.tノードを追加する( new CUndoRedoセル<Cチップ位置用UndoRedo>( null, new DGUndoを実行する<Cチップ位置用UndoRedo>( this.mgr譜面管理者ref.tチップ選択解除のUndo ), new DGRedoを実行する<Cチップ位置用UndoRedo>( this.mgr譜面管理者ref.tチップ選択解除のRedo ), redo3, redo3 ) );\r
-                                               cチップ6.b移動済 = false;\r
-                                               cチップ6.bドラッグで選択中 = false;\r
-                                               cチップ6.b確定選択中 = false;\r
-                                       }\r
-                               }\r
-                       }\r
-                       this._Form.mgrUndoRedo管理者.tトランザクション記録を終了する();\r
-                       this._Form.tUndoRedo用GUIの有効無効を設定する();\r
-               }\r
-               public void t全チップを選択する()\r
-               {\r
-                       this._Form.mgrUndoRedo管理者.tトランザクション記録を開始する();\r
-                       foreach( KeyValuePair<int, C小節> pair in this.mgr譜面管理者ref.dic小節 )\r
-                       {\r
-                               C小節 c小節 = pair.Value;\r
-                               for( int i = 0; i < c小節.listチップ.Count; i++ )\r
-                               {\r
-                                       Cチップ cチップ = c小節.listチップ[ i ];\r
-                                       if( !cチップ.b確定選択中 )\r
-                                       {\r
-                                               Cチップ位置用UndoRedo redo = new Cチップ位置用UndoRedo( c小節.n小節番号0to3599, cチップ.nレーン番号0to, cチップ.n位置grid, cチップ.n値_整数1to1295);\r
-                                               this._Form.mgrUndoRedo管理者.tノードを追加する( new CUndoRedoセル<Cチップ位置用UndoRedo>( null, new DGUndoを実行する<Cチップ位置用UndoRedo>( this.mgr譜面管理者ref.tチップ選択のUndo ), new DGRedoを実行する<Cチップ位置用UndoRedo>( this.mgr譜面管理者ref.tチップ選択のRedo ), redo, redo ) );\r
-                                               cチップ.bドラッグで選択中 = false;\r
-                                               cチップ.b確定選択中 = true;\r
-                                       }\r
-                               }\r
-                       }\r
-                       this._Form.mgrUndoRedo管理者.tトランザクション記録を終了する();\r
-                       this._Form.tUndoRedo用GUIの有効無効を設定する();\r
-                       this._Form.t選択チップの有無に応じて編集用GUIの有効無効を設定する();\r
-                       this._Form.pictureBox譜面パネル.Refresh();\r
-               }\r
-               public void tレーン上の全チップを選択する( int lane )\r
-               {\r
-                       tレーン上の全チップを選択する( lane, 0 );\r
-               }\r
-               public void tレーン上の全チップを選択する( int lane, int fromBAR )                        // #32134 2013.9.29 suggested by beatme\r
-               {                                                                                                                                                       // fromBAR: 開始小節\r
-                       // Debug.WriteLine( "laneno=" + lane + " " + this.mgr譜面管理者ref.listレーン[ lane ].strレーン名 );\r
-\r
-                       this._Form.mgrUndoRedo管理者.tトランザクション記録を開始する();\r
-                       foreach ( KeyValuePair<int, C小節> pair in this.mgr譜面管理者ref.dic小節 )\r
-                       {\r
-                               C小節 c小節 = pair.Value;\r
-                               if ( c小節.n小節番号0to3599 < fromBAR )\r
-                               {\r
-                                       continue;\r
-                               }\r
-                               for ( int i = 0; i < c小節.listチップ.Count; i++ )\r
-                               {\r
-                                       Cチップ cチップ = c小節.listチップ[ i ];\r
-                                       if ( cチップ.nレーン番号0to == lane && !cチップ.b確定選択中 )\r
-                                       {\r
-                                               Cチップ位置用UndoRedo redo = new Cチップ位置用UndoRedo( c小節.n小節番号0to3599, cチップ.nレーン番号0to, cチップ.n位置grid, cチップ.n値_整数1to1295);\r
-                                               this._Form.mgrUndoRedo管理者.tノードを追加する( new CUndoRedoセル<Cチップ位置用UndoRedo>( null, new DGUndoを実行する<Cチップ位置用UndoRedo>( this.mgr譜面管理者ref.tチップ選択のUndo ), new DGRedoを実行する<Cチップ位置用UndoRedo>( this.mgr譜面管理者ref.tチップ選択のRedo ), redo, redo ) );\r
-                                               cチップ.bドラッグで選択中 = false;\r
-                                               cチップ.b確定選択中 = true;\r
-                                       }\r
-                               }\r
-                       }\r
-                       this._Form.mgrUndoRedo管理者.tトランザクション記録を終了する();\r
-                       this._Form.tUndoRedo用GUIの有効無効を設定する();\r
-                       this._Form.t選択チップの有無に応じて編集用GUIの有効無効を設定する();\r
-                       this._Form.pictureBox譜面パネル.Refresh();\r
-               }\r
-               public void t小節上の全チップを選択する( int n小節番号 )                       // #32134 2013.9.29 suggested by beatme\r
-               {\r
-                       this._Form.mgrUndoRedo管理者.tトランザクション記録を開始する();\r
-                       C小節 c小節 = this.mgr譜面管理者ref.dic小節[ n小節番号 ];\r
-                       for ( int i = 0; i < c小節.listチップ.Count; i++ )\r
-                       {\r
-                               Cチップ cチップ = c小節.listチップ[ i ];\r
-                               if ( !cチップ.b確定選択中 )\r
-                               {\r
-                                       Cチップ位置用UndoRedo redo = new Cチップ位置用UndoRedo( c小節.n小節番号0to3599, cチップ.nレーン番号0to, cチップ.n位置grid, cチップ.n値_整数1to1295);\r
-                                       this._Form.mgrUndoRedo管理者.tノードを追加する( new CUndoRedoセル<Cチップ位置用UndoRedo>( null, new DGUndoを実行する<Cチップ位置用UndoRedo>( this.mgr譜面管理者ref.tチップ選択のUndo ), new DGRedoを実行する<Cチップ位置用UndoRedo>( this.mgr譜面管理者ref.tチップ選択のRedo ), redo, redo ) );\r
-                                       cチップ.bドラッグで選択中 = false;\r
-                                       cチップ.b確定選択中 = true;\r
-                               }\r
-                       }\r
-                       this._Form.mgrUndoRedo管理者.tトランザクション記録を終了する();\r
-                       this._Form.tUndoRedo用GUIの有効無効を設定する();\r
-                       this._Form.t選択チップの有無に応じて編集用GUIの有効無効を設定する();\r
-                       this._Form.pictureBox譜面パネル.Refresh();\r
-               }\r
-               public void t置換する()\r
-               {\r
-                       this._Form.dlgチップパレット.t一時的に隠蔽する();\r
-                       this.t置換する_メイン();\r
-                       this._Form.dlgチップパレット.t一時的な隠蔽を解除する();\r
-               }\r
-               internal void MouseClick( MouseEventArgs e )\r
-               {\r
-                       if ( e.Button == MouseButtons.Right )\r
-                       {\r
-                               this._Form.t選択モードのコンテクストメニューを表示する( e.X, e.Y );\r
-                       }\r
-                       else\r
-                       {       // BEATレーンに限り、左クリックで裏表切り替え\r
-                               if ( this.pt現在のドラッグ開始位置dot.X == e.X && this.pt現在のドラッグ開始位置dot.Y == e.Y )\r
-                               {\r
-                                       int n現在のチップカーソルがあるレーン番号0to = this.mgr譜面管理者ref.nX座標dotが位置するレーン番号を返す( e.X );\r
-                                       if ( n現在のチップカーソルがあるレーン番号0to == this.mgr譜面管理者ref.nレーン名に対応するレーン番号を返す( "BEAT" ) )\r
-                                       {\r
-                                               t選択チップを表裏反転置換する( false );\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-               internal void MouseDown( MouseEventArgs e )\r
-               {\r
-                       if( e.Button == MouseButtons.Left )\r
-                       {\r
-                               Cチップ cc = this.mgr譜面管理者ref.p指定された座標dotにあるチップを返す( e.X, e.Y );\r
-                               if( ( cc == null ) || !cc.b確定選択中 )\r
-                               {\r
-                                       this.t範囲選択開始処理( e );\r
-                               }\r
-                               else if( ( Control.ModifierKeys & Keys.Control ) != Keys.Control )\r
-                               {\r
-                                       this.t移動開始処理( e );\r
-                               }\r
-                               else\r
-                               {\r
-                                       this.t個別選択解除( cc );\r
-                               }\r
-                       }\r
-               }\r
-               internal void MouseMove( MouseEventArgs e )\r
-               {\r
-                       if( e.Button == MouseButtons.Left )\r
-                       {\r
-                               if( this.b範囲選択のためにドラッグ中 )\r
-                               {\r
-                                       this.t範囲選択継続処理( e );\r
-                               }\r
-                               if( this.b移動のためにドラッグ中 )\r
-                               {\r
-                                       this.t移動継続処理( e );\r
-                               }\r
-                       }\r
-                       else\r
-                       {\r
-                               if( this.b範囲選択のためにドラッグ中 )\r
-                               {\r
-                                       this.t範囲選択終了処理( e );\r
-                               }\r
-                               if( this.b移動のためにドラッグ中 )\r
-                               {\r
-                                       this.t移動終了処理( e );\r
-                               }\r
-                       }\r
-                       this._Form.pictureBox譜面パネル.Refresh();\r
-               }\r
-               internal void Paint( PaintEventArgs e )\r
-               {\r
-                       if( this.b範囲選択のためにドラッグ中 )\r
-                       {\r
-                               this.t現在の選択範囲を描画する( e.Graphics );\r
-                       }\r
-               }\r
-\r
-               #region [ private ]\r
-               //-----------------\r
-               private Cメインフォーム _Form;\r
-               private SolidBrush br選択領域ブラシ = new SolidBrush( Color.FromArgb( 80, 0x37, 0x37, 0xff ) );\r
-               private bool b移動のためにドラッグ中;\r
-               private bool b範囲選択のためにドラッグ中;\r
-               private C譜面管理 mgr譜面管理者ref;\r
-               private Point pt現在のドラッグ開始位置dot = new Point();\r
-               private Point pt現在のドラッグ終了位置dot = new Point();\r
-               private Point pt前回の位置LaneGrid = new Point();\r
-\r
-               private void tチップを横に移動する( Cチップ cc, int n移動量lane )\r
-               {\r
-                       int num2;\r
-                       int count = this.mgr譜面管理者ref.listレーン.Count;\r
-                       if( cc.n枠外レーン数 < 0 )\r
-                       {\r
-                               num2 = cc.n枠外レーン数 + n移動量lane;\r
-                       }\r
-                       else if( cc.n枠外レーン数 > 0 )\r
-                       {\r
-                               num2 = ( ( count - 1 ) + cc.n枠外レーン数 ) + n移動量lane;\r
-                       }\r
-                       else\r
-                       {\r
-                               num2 = cc.nレーン番号0to + n移動量lane;\r
-                       }\r
-                       if( num2 < 0 )\r
-                       {\r
-                               cc.n枠外レーン数 = num2;\r
-                       }\r
-                       else if( num2 >= count )\r
-                       {\r
-                               cc.n枠外レーン数 = num2 - ( count - 1 );\r
-                       }\r
-                       else\r
-                       {\r
-                               cc.nレーン番号0to = num2;\r
-                               cc.n枠外レーン数 = 0;\r
-                       }\r
-                       cc.b移動済 = true;\r
-                       this._Form.b未保存 = true;\r
-               }\r
-               private void tチップを縦に移動する( Cチップ cc, int n移動量grid, C小節 csチップのある小節 )\r
-               {\r
-                       cc.b移動済 = true;\r
-                       int num = cc.n位置grid + n移動量grid;\r
-                       if( num < 0 )\r
-                       {\r
-                               int num2 = csチップのある小節.n小節番号0to3599;\r
-                               C小節 c小節 = null;\r
-                               while( num < 0 )\r
-                               {\r
-                                       num2--;\r
-                                       c小節 = this.mgr譜面管理者ref.p小節を返す( num2 );\r
-                                       if( c小節 == null )\r
-                                       {\r
-                                               return;\r
-                                       }\r
-                                       num += c小節.n小節長倍率を考慮した現在の小節の高さgrid;\r
-                               }\r
-                               Cチップ item = new Cチップ();\r
-                               item.tコピーfrom( cc );\r
-                               item.n位置grid = num;\r
-                               csチップのある小節.listチップ.Remove( cc );\r
-                               c小節.listチップ.Add( item );\r
-                       }\r
-                       else if( num >= csチップのある小節.n小節長倍率を考慮した現在の小節の高さgrid )\r
-                       {\r
-                               int num3 = csチップのある小節.n小節番号0to3599;\r
-                               C小節 c小節2 = csチップのある小節;\r
-                               while( num >= c小節2.n小節長倍率を考慮した現在の小節の高さgrid )\r
-                               {\r
-                                       num -= c小節2.n小節長倍率を考慮した現在の小節の高さgrid;\r
-                                       num3++;\r
-                                       c小節2 = this.mgr譜面管理者ref.p小節を返す( num3 );\r
-                                       if( c小節2 == null )\r
-                                       {\r
-                                               c小節2 = new C小節( num3 );\r
-                                               this.mgr譜面管理者ref.dic小節.Add( num3, c小節2 );\r
-                                       }\r
-                               }\r
-                               Cチップ cチップ2 = new Cチップ();\r
-                               cチップ2.tコピーfrom( cc );\r
-                               cチップ2.n位置grid = num;\r
-                               csチップのある小節.listチップ.Remove( cc );\r
-                               c小節2.listチップ.Add( cチップ2 );\r
-                       }\r
-                       else\r
-                       {\r
-                               cc.n位置grid = num;\r
-                       }\r
-                       this._Form.b未保存 = true;\r
-               }\r
-               private void tチップ移動のRedo( Cチップ位置用UndoRedo ur変更前, Cチップ位置用UndoRedo ur変更後 )\r
-               {\r
-                       C小節 c小節 = this.mgr譜面管理者ref.p小節を返す( ur変更前.n小節番号0to );\r
-                       if( c小節 != null )\r
-                       {\r
-                               for( int i = 0; i < c小節.listチップ.Count; i++ )\r
-                               {\r
-                                       Cチップ item = c小節.listチップ[ i ];\r
-                                       if( ( item.b確定選択中 && ( item.n位置grid == ur変更前.n位置grid ) ) && ( item.nレーン番号0to == ur変更前.nレーン番号0to ) )\r
-                                       {\r
-                                               C小節 c小節2 = this.mgr譜面管理者ref.p小節を返す( ur変更後.n小節番号0to );\r
-                                               if( c小節2 != null )\r
-                                               {\r
-                                                       c小節.listチップ.RemoveAt( i );\r
-                                                       item.nレーン番号0to = ur変更後.nレーン番号0to;\r
-                                                       item.n位置grid = ur変更後.n位置grid;\r
-                                                       c小節2.listチップ.Add( item );\r
-                                                       break;\r
-                                               }\r
-                                       }\r
-                               }\r
-                               this._Form.pictureBox譜面パネル.Refresh();\r
-                       }\r
-               }\r
-               private void tチップ移動のUndo( Cチップ位置用UndoRedo ur変更前, Cチップ位置用UndoRedo ur変更後 )\r
-               {\r
-                       C小節 c小節 = this.mgr譜面管理者ref.p小節を返す( ur変更後.n小節番号0to );\r
-                       if( c小節 != null )\r
-                       {\r
-                               for( int i = 0; i < c小節.listチップ.Count; i++ )\r
-                               {\r
-                                       Cチップ item = c小節.listチップ[ i ];\r
-                                       if( ( item.b確定選択中 && ( item.n位置grid == ur変更後.n位置grid ) ) && ( item.nレーン番号0to == ur変更後.nレーン番号0to ) )\r
-                                       {\r
-                                               C小節 c小節2 = this.mgr譜面管理者ref.p小節を返す( ur変更前.n小節番号0to );\r
-                                               if( c小節2 != null )\r
-                                               {\r
-                                                       c小節.listチップ.RemoveAt( i );\r
-                                                       item.nレーン番号0to = ur変更前.nレーン番号0to;\r
-                                                       item.n位置grid = ur変更前.n位置grid;\r
-                                                       c小節2.listチップ.Add( item );\r
-                                                       break;\r
-                                               }\r
-                                       }\r
-                               }\r
-                               this._Form.pictureBox譜面パネル.Refresh();\r
-                       }\r
-               }\r
-               private void tドラッグ範囲中のチップを選択する()\r
-               {\r
-                       Rectangle rectangle = new Rectangle();\r
-                       rectangle.X = Math.Min( this.pt現在のドラッグ開始位置dot.X, this.pt現在のドラッグ終了位置dot.X );\r
-                       rectangle.Y = Math.Min( this.pt現在のドラッグ開始位置dot.Y, this.pt現在のドラッグ終了位置dot.Y );\r
-                       rectangle.Width = Math.Abs( (int) ( this.pt現在のドラッグ開始位置dot.X - this.pt現在のドラッグ終了位置dot.X ) );\r
-                       rectangle.Height = Math.Abs( (int) ( this.pt現在のドラッグ開始位置dot.Y - this.pt現在のドラッグ終了位置dot.Y ) );\r
-                       Rectangle rectangle2 = new Rectangle();\r
-                       rectangle2.X = this.mgr譜面管理者ref.nX座標dotが位置するレーン番号を返す( rectangle.X );\r
-                       rectangle2.Y = this.mgr譜面管理者ref.nY座標dotが位置するgridを返す_最高解像度( rectangle.Y );\r
-                       rectangle2.Width = this.mgr譜面管理者ref.nX座標dotが位置するレーン番号を返す( rectangle.Right ) - rectangle2.X;\r
-                       rectangle2.Height = this.mgr譜面管理者ref.nY座標dotが位置するgridを返す_最高解像度( rectangle.Bottom ) - rectangle2.Y;\r
-                       int num = 0;\r
-                       for( int i = 0; i < this.mgr譜面管理者ref.dic小節.Count; i++ )\r
-                       {\r
-                               C小節 c小節 = this.mgr譜面管理者ref.dic小節[ i ];\r
-                               int num3 = c小節.n小節長倍率を考慮した現在の小節の高さgrid;\r
-                               for( int j = 0; j < c小節.listチップ.Count; j++ )\r
-                               {\r
-                                       int num5;\r
-                                       Cチップ cc = c小節.listチップ[ j ];\r
-                                       if( this.mgr譜面管理者ref.bOPENチップである( cc ) )\r
-                                       {\r
-                                               if( ( ( cc.nレーン番号0to + 2 ) >= rectangle2.X ) && ( rectangle2.Right >= cc.nレーン番号0to ) )\r
-                                               {\r
-                                                       goto Label_01B0;\r
-                                               }\r
-                                               cc.bドラッグで選択中 = false;\r
-                                               continue;\r
-                                       }\r
-                                       if( ( cc.nレーン番号0to < rectangle2.X ) || ( rectangle2.Right < cc.nレーン番号0to ) )\r
-                                       {\r
-                                               cc.bドラッグで選択中 = false;\r
-                                               continue;\r
-                                       }\r
-                               Label_01B0:\r
-                                       num5 = num + cc.n位置grid;\r
-                                       int num6 = num5 + C小節.n位置変換dot2grid( Cチップ.nチップの高さdot );\r
-                                       if( ( num6 < rectangle2.Bottom ) || ( rectangle2.Top < num5 ) )\r
-                                       {\r
-                                               cc.bドラッグで選択中 = false;\r
-                                       }\r
-                                       else\r
-                                       {\r
-                                               cc.bドラッグで選択中 = true;\r
-                                       }\r
-                               }\r
-                               num += num3;\r
-                       }\r
-               }\r
-               private void t移動開始処理( MouseEventArgs e )\r
-               {\r
-                       this.b移動のためにドラッグ中 = true;\r
-                       this.pt現在のドラッグ開始位置dot.X = this.pt現在のドラッグ終了位置dot.X = e.X;\r
-                       this.pt現在のドラッグ開始位置dot.Y = this.pt現在のドラッグ終了位置dot.Y = e.Y;\r
-                       this.pt前回の位置LaneGrid.X = this.mgr譜面管理者ref.nX座標dotが位置するレーン番号を返す( e.X );\r
-                       this.pt前回の位置LaneGrid.Y = this.mgr譜面管理者ref.nY座標dotが位置するgridを返す_ガイド幅単位( e.Y );\r
-                       foreach( KeyValuePair<int, C小節> pair in this._Form.mgr譜面管理者.dic小節 )\r
-                       {\r
-                               C小節 c小節 = pair.Value;\r
-                               for( int i = 0; i < c小節.listチップ.Count; i++ )\r
-                               {\r
-                                       Cチップ cチップ = c小節.listチップ[ i ];\r
-                                       if( cチップ.b確定選択中 )\r
-                                       {\r
-                                               cチップ.n移動開始時の小節番号0to = c小節.n小節番号0to3599;\r
-                                               cチップ.n移動開始時のレーン番号0to = cチップ.nレーン番号0to;\r
-                                               cチップ.n移動開始時の小節内の位置grid = cチップ.n位置grid;\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-               private void t移動継続処理( MouseEventArgs e )\r
-               {\r
-                       this.pt現在のドラッグ終了位置dot.X = e.X;\r
-                       this.pt現在のドラッグ終了位置dot.Y = e.Y;\r
-                       this.t画面上下にマウスカーソルがあるなら譜面を縦スクロールする( e );\r
-                       this.t確定選択中のチップを移動する();\r
-               }\r
-               private void t移動終了処理( MouseEventArgs e )\r
-               {\r
-                       this.b移動のためにドラッグ中 = false;\r
-                       foreach( KeyValuePair<int, C小節> pair in this.mgr譜面管理者ref.dic小節 )\r
-                       {\r
-                               for( int i = 0; i < pair.Value.listチップ.Count; i++ )\r
-                               {\r
-                                       Cチップ cチップ = pair.Value.listチップ[ i ];\r
-                                       if( cチップ.b確定選択中 && ( cチップ.n枠外レーン数 == 0 ) )\r
-                                       {\r
-                                               Cレーン cレーン = this.mgr譜面管理者ref.listレーン[ cチップ.nレーン番号0to ];\r
-                                               cチップ.nチャンネル番号00toFF = cチップ.b裏 ? cレーン.nチャンネル番号_裏00toFF : cレーン.nチャンネル番号_表00toFF;\r
-                                               if( ( cレーン.bパターンレーンである() && ( cチップ.n値_整数1to1295 != 1 ) ) && ( cチップ.n値_整数1to1295 != 2 ) )\r
-                                               {\r
-                                                       cチップ.n値_整数1to1295 = 1;\r
-                                               }\r
-                                       }\r
-                               }\r
-                       }\r
-                       this._Form.mgrUndoRedo管理者.tトランザクション記録を開始する();\r
-                       foreach( KeyValuePair<int, C小節> pair2 in this.mgr譜面管理者ref.dic小節 )\r
-                       {\r
-                               C小節 c小節 = pair2.Value;\r
-                               for( int j = 0; j < pair2.Value.listチップ.Count; j++ )\r
-                               {\r
-                                       Cチップ cチップ2 = c小節.listチップ[ j ];\r
-                                       if( cチップ2.b確定選択中 && ( ( ( cチップ2.n移動開始時の小節番号0to != c小節.n小節番号0to3599 ) || ( cチップ2.n移動開始時のレーン番号0to != cチップ2.nレーン番号0to ) ) || ( cチップ2.n移動開始時の小節内の位置grid != cチップ2.n位置grid ) ) )\r
-                                       {\r
-                                               Cチップ位置用UndoRedo redo = new Cチップ位置用UndoRedo( cチップ2.n移動開始時の小節番号0to, cチップ2.n移動開始時のレーン番号0to, cチップ2.n移動開始時の小節内の位置grid, cチップ2.n値_整数1to1295);\r
-                                               Cチップ位置用UndoRedo redo2 = new Cチップ位置用UndoRedo( c小節.n小節番号0to3599, cチップ2.nレーン番号0to, cチップ2.n位置grid, cチップ2.n値_整数1to1295);\r
-                                               this._Form.mgrUndoRedo管理者.tノードを追加する( new CUndoRedoセル<Cチップ位置用UndoRedo>( null, new DGUndoを実行する<Cチップ位置用UndoRedo>( this.tチップ移動のUndo ), new DGRedoを実行する<Cチップ位置用UndoRedo>( this.tチップ移動のRedo ), redo, redo2 ) );\r
-                                       }\r
-                               }\r
-                       }\r
-                       this._Form.tUndoRedo用GUIの有効無効を設定する();\r
-                       this._Form.mgrUndoRedo管理者.tトランザクション記録を終了する();\r
-               }\r
-               private void t画面上下にマウスカーソルがあるなら譜面を縦スクロールする( MouseEventArgs e )\r
-               {\r
-                       if( e.Y < 70 )\r
-                       {\r
-                               int nGrid = -( 70 - e.Y ) / 2;\r
-                               int num2 = this._Form.vScrollBar譜面用垂直スクロールバー.Value;\r
-                               int num3 = this._Form.vScrollBar譜面用垂直スクロールバー.Value + nGrid;\r
-                               int minimum = this._Form.vScrollBar譜面用垂直スクロールバー.Minimum;\r
-                               int num5 = ( this._Form.vScrollBar譜面用垂直スクロールバー.Maximum + 1 ) - this._Form.vScrollBar譜面用垂直スクロールバー.LargeChange;\r
-                               if( num3 < minimum )\r
-                               {\r
-                                       num3 = minimum;\r
-                               }\r
-                               else if( num3 > num5 )\r
-                               {\r
-                                       num3 = num5;\r
-                               }\r
-                               this._Form.vScrollBar譜面用垂直スクロールバー.Value = num3;\r
-                               nGrid = num3 - num2;\r
-                               this.pt現在のドラッグ開始位置dot.Y -= C小節.n位置変換grid2dot( nGrid );\r
-                       }\r
-                       else if( e.Y > ( this._Form.pictureBox譜面パネル.Height - 50 ) )\r
-                       {\r
-                               int num6 = ( ( e.Y - this._Form.pictureBox譜面パネル.Height ) + 50 ) / 2;\r
-                               int num7 = this._Form.vScrollBar譜面用垂直スクロールバー.Value;\r
-                               int num8 = this._Form.vScrollBar譜面用垂直スクロールバー.Value + num6;\r
-                               int num9 = this._Form.vScrollBar譜面用垂直スクロールバー.Minimum;\r
-                               int num10 = ( this._Form.vScrollBar譜面用垂直スクロールバー.Maximum + 1 ) - this._Form.vScrollBar譜面用垂直スクロールバー.LargeChange;\r
-                               if( num8 < num9 )\r
-                               {\r
-                                       num8 = num9;\r
-                               }\r
-                               else if( num8 > num10 )\r
-                               {\r
-                                       num8 = num10;\r
-                               }\r
-                               this._Form.vScrollBar譜面用垂直スクロールバー.Value = num8;\r
-                               num6 = num8 - num7;\r
-                               this.pt現在のドラッグ開始位置dot.Y -= C小節.n位置変換grid2dot( num6 );\r
-                       }\r
-               }\r
-               private void t確定選択中のチップを移動する()\r
-               {\r
-                       Point point = new Point();\r
-                       point.X = this.mgr譜面管理者ref.nX座標dotが位置するレーン番号を返す( this.pt現在のドラッグ終了位置dot.X );\r
-                       point.Y = this.mgr譜面管理者ref.nY座標dotが位置するgridを返す_ガイド幅単位( this.pt現在のドラッグ終了位置dot.Y );\r
-                       Point point2 = new Point();\r
-                       point2.X = point.X - this.pt前回の位置LaneGrid.X;\r
-                       point2.Y = point.Y - this.pt前回の位置LaneGrid.Y;\r
-                       if( ( point2.X != 0 ) || ( point2.Y != 0 ) )\r
-                       {\r
-                               foreach( KeyValuePair<int, C小節> pair in this.mgr譜面管理者ref.dic小節 )\r
-                               {\r
-                                       pair.Value.t小節内の全チップの移動済フラグをリセットする();\r
-                               }\r
-                               for( int i = 0; i < this.mgr譜面管理者ref.dic小節.Count; i++ )\r
-                               {\r
-                                       C小節 c小節 = this.mgr譜面管理者ref.dic小節[ i ];\r
-                                       for( int j = 0; j < c小節.listチップ.Count; j++ )\r
-                                       {\r
-                                               Cチップ cc = c小節.listチップ[ j ];\r
-                                               if( cc.b確定選択中 && !cc.b移動済 )\r
-                                               {\r
-                                                       if( point2.X != 0 )\r
-                                                       {\r
-                                                               this.tチップを横に移動する( cc, point2.X );\r
-                                                       }\r
-                                                       if( point2.Y != 0 )\r
-                                                       {\r
-                                                               this.tチップを縦に移動する( cc, point2.Y, c小節 );\r
-                                                               i = -1;\r
-                                                               break;\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                               }\r
-                               this.pt前回の位置LaneGrid.X = point.X;\r
-                               this.pt前回の位置LaneGrid.Y = point.Y;\r
-                       }\r
-               }\r
-               private void t検索する_メイン()\r
-               {\r
-                       C検索ダイアログ c検索ダイアログ = new C検索ダイアログ();\r
-                       if( !c検索ダイアログ.bレーンリストの内訳が生成済みである )\r
-                       {\r
-                               int count = this._Form.mgr譜面管理者.listレーン.Count;\r
-                               string[] strArray = new string[ count ];\r
-                               for( int i = 0; i < count; i++ )\r
-                               {\r
-                                       strArray[ i ] = this._Form.mgr譜面管理者.listレーン[ i ].strレーン名;\r
-                               }\r
-                               c検索ダイアログ.tレーンリストの内訳を生成する( strArray );\r
-                       }\r
-                       if( c検索ダイアログ.ShowDialog() == DialogResult.OK )\r
-                       {\r
-                               int num3 = c検索ダイアログ.bチップ範囲指定CheckBoxがチェックされている ? c検索ダイアログ.nチップ範囲開始番号 : 0;\r
-                               int num4 = c検索ダイアログ.bチップ範囲指定CheckBoxがチェックされている ? c検索ダイアログ.nチップ範囲終了番号 : 36 * 36 - 1;\r
-                               if( ( c検索ダイアログ.bチップ範囲指定CheckBoxがチェックされている && ( num3 < 0 ) ) && ( num4 < 0 ) )\r
-                               {\r
-                                       num3 = 0;\r
-                                       num4 = 36 * 36 - 1;\r
-                               }\r
-                               int num5 = c検索ダイアログ.b小節範囲指定CheckBoxがチェックされている ? c検索ダイアログ.n小節範囲開始番号 : 0;\r
-                               int num6 = c検索ダイアログ.b小節範囲指定CheckBoxがチェックされている ? c検索ダイアログ.n小節範囲終了番号 : this._Form.mgr譜面管理者.n現在の最大の小節番号を返す();\r
-                               if( ( c検索ダイアログ.b小節範囲指定CheckBoxがチェックされている && ( num5 < 0 ) ) && ( num6 < 0 ) )\r
-                               {\r
-                                       num5 = 0;\r
-                                       num6 = this._Form.mgr譜面管理者.n現在の最大の小節番号を返す();\r
-                               }\r
-                               if( ( ( num5 >= 0 ) && ( num6 >= 0 ) ) && ( ( num3 >= 0 ) && ( num4 >= 0 ) ) )\r
-                               {\r
-                                       this._Form.mgrUndoRedo管理者.tトランザクション記録を開始する();\r
-                                       int num7 = 0;\r
-                                       for( int j = num5; j <= num6; j++ )\r
-                                       {\r
-                                               C小節 c小節 = this._Form.mgr譜面管理者.p小節を返す( j );\r
-                                               if( c小節 != null )\r
-                                               {\r
-                                                       for( int k = 0; k < c小節.listチップ.Count; k++ )\r
-                                                       {\r
-                                                               Cチップ cチップ = c小節.listチップ[ k ];\r
-                                                               if( ( ( !c検索ダイアログ.bレーン指定CheckBoxがチェックされている || c検索ダイアログ.bレーンが検索対象である( cチップ.nレーン番号0to ) ) && ( ( cチップ.n値_整数1to1295 >= num3 ) && ( cチップ.n値_整数1to1295 <= num4 ) ) ) && ( ( c検索ダイアログ.b表チップCheckBoxがチェックされている && !cチップ.b裏 ) || ( c検索ダイアログ.b裏チップCheckBoxがチェックされている && cチップ.b裏 ) ) )\r
-                                                               {\r
-                                                                       Cチップ位置用UndoRedo redo = new Cチップ位置用UndoRedo( c小節.n小節番号0to3599, cチップ.nレーン番号0to, cチップ.n位置grid, cチップ.n値_整数1to1295);\r
-                                                                       this._Form.mgrUndoRedo管理者.tノードを追加する( new CUndoRedoセル<Cチップ位置用UndoRedo>( null, new DGUndoを実行する<Cチップ位置用UndoRedo>( this.mgr譜面管理者ref.tチップ選択のUndo ), new DGRedoを実行する<Cチップ位置用UndoRedo>( this.mgr譜面管理者ref.tチップ選択のRedo ), redo, redo ) );\r
-                                                                       cチップ.b確定選択中 = true;\r
-                                                                       num7++;\r
-                                                               }\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                                       this._Form.mgrUndoRedo管理者.tトランザクション記録を終了する();\r
-                                       this._Form.tUndoRedo用GUIの有効無効を設定する();\r
-                                       this._Form.pictureBox譜面パネル.Refresh();\r
-                                       if( num7 > 0 )\r
-                                       {\r
-                                               this._Form.t選択チップの有無に応じて編集用GUIの有効無効を設定する();\r
-                                               MessageBox.Show( num7 + Resources.str個のチップが選択されましたMSG, Resources.str検索結果ダイアログのタイトル, MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1 );\r
-                                       }\r
-                                       else\r
-                                       {\r
-                                               MessageBox.Show( Resources.str該当するチップはありませんでしたMSG, Resources.str検索結果ダイアログのタイトル, MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1 );\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-               private void t現在の選択範囲を描画する( Graphics g )\r
-               {\r
-                       Rectangle rect = new Rectangle();\r
-                       rect.X = Math.Min( this.pt現在のドラッグ開始位置dot.X, this.pt現在のドラッグ終了位置dot.X );\r
-                       rect.Y = Math.Min( this.pt現在のドラッグ開始位置dot.Y, this.pt現在のドラッグ終了位置dot.Y );\r
-                       rect.Width = Math.Abs( (int) ( this.pt現在のドラッグ開始位置dot.X - this.pt現在のドラッグ終了位置dot.X ) );\r
-                       rect.Height = Math.Abs( (int) ( this.pt現在のドラッグ開始位置dot.Y - this.pt現在のドラッグ終了位置dot.Y ) );\r
-                       if( rect.Width < 0 )\r
-                       {\r
-                               rect.X = this.pt現在のドラッグ開始位置dot.X;\r
-                               rect.Width = this.pt現在のドラッグ開始位置dot.X - rect.X;\r
-                       }\r
-                       if( rect.Height < 0 )\r
-                       {\r
-                               rect.Y = this.pt現在のドラッグ開始位置dot.Y;\r
-                               rect.Height = this.pt現在のドラッグ開始位置dot.Y - rect.Y;\r
-                       }\r
-                       if( ( rect.Width != 0 ) && ( rect.Height != 0 ) )\r
-                       {\r
-                               g.FillRectangle( this.br選択領域ブラシ, rect );\r
-                               g.DrawRectangle( Pens.LightBlue, rect );\r
-                       }\r
-               }\r
-               private void t選択チップを単純置換する( int n元番号, int n先番号 )\r
-               {\r
-                       if( ( n元番号 < 0 ) || ( n先番号 < 0 ) )\r
-                       {\r
-                               MessageBox.Show( Resources.strチップ番号に誤りがありますMSG, Resources.str置換結果ダイアログのタイトル, MessageBoxButtons.OK, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1 );\r
-                       }\r
-                       else\r
-                       {\r
-                               int num = 0;\r
-                               this._Form.mgrUndoRedo管理者.tトランザクション記録を開始する();\r
-                               foreach( KeyValuePair<int, C小節> pair in this._Form.mgr譜面管理者.dic小節 )\r
-                               {\r
-                                       C小節 c小節 = pair.Value;\r
-                                       for( int i = 0; i < c小節.listチップ.Count; i++ )\r
-                                       {\r
-                                               Cチップ cチップ = c小節.listチップ[ i ];\r
-                                               if( cチップ.b確定選択中 && ( cチップ.n値_整数1to1295 == n元番号 ) )\r
-                                               {\r
-                                                       Cチップ位置用UndoRedo redo = new Cチップ位置用UndoRedo( c小節.n小節番号0to3599, cチップ.nレーン番号0to, cチップ.n位置grid, cチップ.n値_整数1to1295);\r
-                                                       Cチップ位置用UndoRedo redo2 = new Cチップ位置用UndoRedo( c小節.n小節番号0to3599, cチップ.nレーン番号0to, cチップ.n位置grid, n先番号 );\r
-                                                       this._Form.mgrUndoRedo管理者.tノードを追加する( new CUndoRedoセル<Cチップ位置用UndoRedo>( null, new DGUndoを実行する<Cチップ位置用UndoRedo>( this.mgr譜面管理者ref.tチップ番号置換のUndo ), new DGRedoを実行する<Cチップ位置用UndoRedo>( this.mgr譜面管理者ref.tチップ番号置換のRedo ), redo, redo2 ) );\r
-                                                       cチップ.n値_整数1to1295 = n先番号;\r
-                                                       num++;\r
-                                               }\r
-                                       }\r
-                               }\r
-                               this._Form.mgrUndoRedo管理者.tトランザクション記録を終了する();\r
-                               this._Form.tUndoRedo用GUIの有効無効を設定する();\r
-                               if( num > 0 )\r
-                               {\r
-                                       this._Form.b未保存 = true;\r
-                                       this._Form.pictureBox譜面パネル.Refresh();\r
-                                       MessageBox.Show( num + Resources.str個のチップを置換しましたMSG, Resources.str置換結果ダイアログのタイトル, MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1 );\r
-                               }\r
-                               else\r
-                               {\r
-                                       MessageBox.Show( Resources.str該当するチップはありませんでしたMSG, Resources.str置換結果ダイアログのタイトル, MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1 );\r
-                               }\r
-                       }\r
-               }\r
-               private void t選択チップを表裏反転置換する()\r
-               {\r
-                       t選択チップを表裏反転置換する( true );\r
-               }\r
-               private void t選択チップを表裏反転置換する( bool bShowResult )\r
-               {\r
-                       int num = 0;\r
-                       this._Form.mgrUndoRedo管理者.tトランザクション記録を開始する();\r
-                       foreach( KeyValuePair<int, C小節> pair in this._Form.mgr譜面管理者.dic小節 )\r
-                       {\r
-                               C小節 c小節 = pair.Value;\r
-                               for( int i = 0; i < c小節.listチップ.Count; i++ )\r
-                               {\r
-                                       Cチップ cチップ = c小節.listチップ[ i ];\r
-                                       if( cチップ.b確定選択中 )\r
-                                       {\r
-                                               Cチップ位置用UndoRedo redo = new Cチップ位置用UndoRedo( c小節.n小節番号0to3599, cチップ.nレーン番号0to, cチップ.n位置grid, cチップ.n値_整数1to1295);\r
-                                               this._Form.mgrUndoRedo管理者.tノードを追加する( new CUndoRedoセル<Cチップ位置用UndoRedo>( null, new DGUndoを実行する<Cチップ位置用UndoRedo>( this.mgr譜面管理者ref.tチップ表裏反転のUndo ), new DGRedoを実行する<Cチップ位置用UndoRedo>( this.mgr譜面管理者ref.tチップ表裏反転のRedo ), redo, redo ) );\r
-                                               if( cチップ.b裏 )\r
-                                               {\r
-                                                       cチップ.nチャンネル番号00toFF = this._Form.mgr譜面管理者.listレーン[ cチップ.nレーン番号0to ].nチャンネル番号_表00toFF;\r
-                                                       cチップ.b裏 = false;\r
-                                               }\r
-                                               else\r
-                                               {\r
-                                                       cチップ.nチャンネル番号00toFF = this._Form.mgr譜面管理者.listレーン[ cチップ.nレーン番号0to ].nチャンネル番号_裏00toFF;\r
-                                                       cチップ.b裏 = true;\r
-                                               }\r
-                                               num++;\r
-                                       }\r
-                               }\r
-                       }\r
-                       this._Form.mgrUndoRedo管理者.tトランザクション記録を終了する();\r
-                       this._Form.tUndoRedo用GUIの有効無効を設定する();\r
-                       if( num > 0 )\r
-                       {\r
-                               this._Form.b未保存 = true;\r
-                               this._Form.pictureBox譜面パネル.Refresh();\r
-                               if ( bShowResult )\r
-                               {\r
-                                       MessageBox.Show( num + Resources.str個のチップを置換しましたMSG, Resources.str置換結果ダイアログのタイトル, MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1 );\r
-                               }\r
-                       }\r
-               }\r
-               private void t置換する_メイン()\r
-               {\r
-                       C置換ダイアログ c置換ダイアログ = new C置換ダイアログ();\r
-                       bool flag = false;\r
-                       if( !this._Form.mgr譜面管理者.b確定選択中のチップがある() )\r
-                       {\r
-                               this.t全チップを選択する();\r
-                               flag = true;\r
-                       }\r
-                       int num = -1;\r
-                       bool flag2 = true;\r
-                       foreach( KeyValuePair<int, C小節> pair in this._Form.mgr譜面管理者.dic小節 )\r
-                       {\r
-                               foreach( Cチップ cチップ in pair.Value.listチップ )\r
-                               {\r
-                                       if( cチップ.b確定選択中 )\r
-                                       {\r
-                                               if( num < 0 )\r
-                                               {\r
-                                                       num = cチップ.n値_整数1to1295;\r
-                                               }\r
-                                               else if( num != cチップ.n値_整数1to1295)\r
-                                               {\r
-                                                       flag2 = false;\r
-                                                       break;\r
-                                               }\r
-                                       }\r
-                               }\r
-                               if( !flag2 )\r
-                               {\r
-                                       break;\r
-                               }\r
-                       }\r
-                       if( flag2 )\r
-                       {\r
-                               c置換ダイアログ.n元番号 = num;\r
-                       }\r
-                       if( c置換ダイアログ.ShowDialog() == DialogResult.OK )\r
-                       {\r
-                               if( c置換ダイアログ.b表裏反転RadioButtonがチェックされている )\r
-                               {\r
-                                       this.t選択チップを表裏反転置換する();\r
-                               }\r
-                               else if( c置換ダイアログ.b単純置換RadioButtonがチェックされている )\r
-                               {\r
-                                       this.t選択チップを単純置換する( c置換ダイアログ.n元番号, c置換ダイアログ.n先番号 );\r
-                               }\r
-                       }\r
-                       else if( flag )\r
-                       {\r
-                               this.t全チップの選択を解除する();\r
-                       }\r
-               }\r
-               private void t範囲選択開始処理( MouseEventArgs e )\r
-               {\r
-                       this.b範囲選択のためにドラッグ中 = true;\r
-                       this.pt現在のドラッグ開始位置dot.X = this.pt現在のドラッグ終了位置dot.X = e.X;\r
-                       this.pt現在のドラッグ開始位置dot.Y = this.pt現在のドラッグ終了位置dot.Y = e.Y;\r
-                       if( ( Control.ModifierKeys & Keys.Control ) != Keys.Control )\r
-                       {\r
-                               this.t全チップの選択を解除する();\r
-                       }\r
-                       this.tドラッグ範囲中のチップを選択する();\r
-               }\r
-               private void t範囲選択継続処理( MouseEventArgs e )\r
-               {\r
-                       this.pt現在のドラッグ終了位置dot.X = e.X;\r
-                       this.pt現在のドラッグ終了位置dot.Y = e.Y;\r
-                       this.t画面上下にマウスカーソルがあるなら譜面を縦スクロールする( e );\r
-                       this.tドラッグ範囲中のチップを選択する();\r
-               }\r
-               private void t範囲選択終了処理( MouseEventArgs e )\r
-               {\r
-                       this.b範囲選択のためにドラッグ中 = false;\r
-                       this._Form.mgrUndoRedo管理者.tトランザクション記録を開始する();\r
-                       foreach( KeyValuePair<int, C小節> pair in this.mgr譜面管理者ref.dic小節 )\r
-                       {\r
-                               C小節 c小節 = pair.Value;\r
-                               for( int i = 0; i < c小節.listチップ.Count; i++ )\r
-                               {\r
-                                       Cチップ cチップ = c小節.listチップ[ i ];\r
-                                       if( cチップ.bドラッグで選択中 && !cチップ.b確定選択中 )\r
-                                       {\r
-                                               Cチップ位置用UndoRedo redo = new Cチップ位置用UndoRedo( c小節.n小節番号0to3599, cチップ.nレーン番号0to, cチップ.n位置grid, cチップ.n値_整数1to1295);\r
-                                               this._Form.mgrUndoRedo管理者.tノードを追加する( new CUndoRedoセル<Cチップ位置用UndoRedo>( null, new DGUndoを実行する<Cチップ位置用UndoRedo>( this.mgr譜面管理者ref.tチップ選択のUndo ), new DGRedoを実行する<Cチップ位置用UndoRedo>( this.mgr譜面管理者ref.tチップ選択のRedo ), redo, redo ) );\r
-                                       }\r
-                               }\r
-                       }\r
-                       this._Form.mgrUndoRedo管理者.tトランザクション記録を終了する();\r
-                       this._Form.tUndoRedo用GUIの有効無効を設定する();\r
-                       foreach( KeyValuePair<int, C小節> pair2 in this.mgr譜面管理者ref.dic小節 )\r
-                       {\r
-                               C小節 c小節2 = pair2.Value;\r
-                               for( int j = 0; j < c小節2.listチップ.Count; j++ )\r
-                               {\r
-                                       Cチップ cチップ2 = c小節2.listチップ[ j ];\r
-                                       if( cチップ2.bドラッグで選択中 )\r
-                                       {\r
-                                               cチップ2.bドラッグで選択中 = false;\r
-                                               cチップ2.b確定選択中 = true;\r
-                                       }\r
-                               }\r
-                       }\r
-                       this._Form.t選択チップの有無に応じて編集用GUIの有効無効を設定する();\r
-               }\r
-               //-----------------\r
-               #endregion\r
-       }\r
-}\r