2016-03-26 2 views
-1

私は時にはいくつかのステップを元に戻す必要があるゲームをプログラミングしていますが、これを直接行う方法はありますか? データ構造、スタック、リストなどにコントロールを入れようとしましたが、ゲームでは複雑すぎます。 ありがとうwinformで変更を取り消して以前のフォームの状態を取得するにはどうすればよいですか?

+1

「変更」と「フォームの状態」とはどういう意味ですか?ほとんどの場合、答えはあなた自身で行う必要があります。 –

+0

私のゲームのユーザーが物事を変えるとき、私は彼にこれを取り消す機会を与えたいと思います。 これは、フォームが入っていた以前の状態を取得したいことを意味します。 – Sujood

+0

まだ、「状態」は何ですか?どんなことが変わるのですか?ポジション?テキスト?値?色?サイズ?とにかく戻ってくることができるように、この "状態"を何とか保存しなければなりません。 –

答えて

0

いいえ、これを行う方法はありません。あなた自身でコード化する必要があります。私はクラスを作成することをお勧めします。FormStateには、状態を保存したいフォームの各コントロールの値を表すメンバがあります。次に、フォーム値をフォームとの間でコピーするメソッドを追加します。最後に、プログラム内にスタックデータ構造を作成します。ユーザーがフォーム上で何かを変更すると、FormStateの新しいインスタンスを作成し、メソッドを呼び出して現在のフォーム状態をFormStateオブジェクトに転送し、スタックにプッシュします。ユーザーが元に戻すを押した場合は、最後の状態をスタックからポップし、メソッドを呼び出してFormStateクラスからフォームコントロールを復元します。それは本当にそこにあるすべてです。

関連する問題