如何实现Undo Redo,?

xfcsdn 2005-08-26 10:37:23
我在写个绘图程序,用何原理如何实现Undo Redo?
...全文
118 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xfcsdn 2005-11-05
  • 打赏
  • 举报
回复
谢谢大家的关注,但我这个绘图不是按命命绘的,比如绘了一个矩形,就new出一个RectObj类,有它的坐标,大小,颜色等,还要Add到一个CollectionBase。。。
iceqings 2005-08-26
  • 打赏
  • 举报
回复
大家来QQ群里讨论吧,我找了几个比较好的技术群,大家分享一下!

C#.net 梦想:QQ群:群号:9700396

C#.net 开发:QQ群:群号:9715298

C# Windows 程序设计:QQ群:群号:14407665

C#.Net 学习:QQ群:群号:2448263

.net+水晶报表群:QQ群:群号:14819489
jilate 2005-08-26
  • 打赏
  • 举报
回复
没做过画图的,

觉得画图,我想也是通过很多命令来操作的,比如说点下鼠标开始画线,松开鼠标,结束画线

我想如果说,将每个操作都放到arrylist的话,那么undo的时候,只要将最近的那组命令或者动作取出来,放到另外一个redo的allylist上的话。这样应该可以实现吧

个人观点
namhyuk 2005-08-26
  • 打赏
  • 举报
回复
实现了IDraw接口的对象数组,或者ArrayList也好。
UnDo时画面清空,从数组或ArrayList画到MaxIndex-1;
再UnDo时画的范围又减1.

这方面实在没经验,瞎说的。
mmens 2005-08-26
  • 打赏
  • 举报
回复
好像每个文件的undo、redo操作都是和一个备份文件相关联的。
用备份文件保存全部的操作,如果你点击undo、redo时,从备份文件中找到原始数据恢复到当前操作中。
flyboy20 2005-08-26
  • 打赏
  • 举报
回复
帮你顶

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧