0

複数のコントロールとグリッド ビュー コントロールを含むウィンドウ フォームがあり、このフォームに 20 レベルのやり直し機能を追加したいのですが、助けてください。

dtStates = new DataTable();
            DataColumn dcIndex = new DataColumn("ID", typeof(int));
            dcIndex.AutoIncrement = true;
            dcIndex.AutoIncrementSeed = 1;
            dcIndex.AutoIncrementStep = 1;
            dtStates.Columns.Add(dcIndex);

            dtStates.Columns.Add("Control", typeof(Object));
            dtStates.Columns.Add("Type", typeof(Object));
            dtStates.Columns.Add("Value", typeof(String));
            dtStates.Columns.Add("ControlID", typeof(String));

これは、フォームのすべてのアクションを記録するデータテーブルです。しかし、グリッドビューの場合、変更を記録して維持する方法がわかりません。

4

2 に答える 2

0

コントロールごとに元に戻す/やり直すプロパティごとにリストを作成します。そのようなプロパティの各変更をそのリストに保存します。リストが 20 要素を超えるたびに、最初のエントリを削除します。これで、適切なリスト内の各コントロールの順番で各値を見つけることができるはずです。

于 2013-07-11T09:53:25.343 に答える