2016-03-26 21 views
-1

我正在編寫一個遊戲,其中我有時需要撤消一些步驟,有沒有直接的方法來做到這一點? 我試着把控件放在數據結構,堆棧和列表等等,但是在我的遊戲中事情太複雜了。 謝謝如何撤銷更改並檢索winform中的以前表單狀態?

+1

你是什麼意思的「變化」和「形態」?無論如何,最有可能的答案是你必須自己做。 –

+0

當我遊戲中的用戶改變了一些東西時,我想給他一個解決這個問題的機會。 這意味着我想獲得表格所處的狀態。 – Sujood

+0

還是,什麼「狀態」?什麼東西改變了?位置?文本?值?顏色?大小?無論如何,你必須以某種方式保存這個「狀態」才能夠返回。 –

回答

0

不,沒有內建的方式來做到這一點;你必須自己編碼。我建議創建一個類FormState,它有成員來表示您想要保存狀態的表單上每個控件的值。然後添加方法以將表單值複製到表單和從表單中複製表單值。最後,在你的程序中創建一個堆棧數據結構。每當用戶更改表單上的內容時,創建一個新的實例FormState,調用該方法將當前表單狀態傳輸到FormState對象,並將其推入堆棧。如果用戶按下撤消,則從堆棧中彈出最後一個狀態並調用該方法來恢復FormState類中的表單控件。這就是它的全部。