寻 "自动保存"及"程序异常退出重启后恢复原貌" 的最佳解决方案 WinForm

让爱延续 2011-05-21 05:21:30
如题,是C# WinForm的。

现在好多的编辑软件都是没有保存按钮的,例如 OneNote。


那这种自动保存怎样做最好呢?我现在用了Timer定时保存,请问大侠还有没有更好的解决方案

程序异常退出后重启恢复原貌:这个小弟是菜鸟,一点思路也没有了,望大侠们指点。

先谢喽!

...全文
340 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2011-05-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zaiduxinling 的回复:]
引用 4 楼 sjzlxd 的回复:

引用楼主 zaiduxinling 的回复:
如题,是C# WinForm的。

现在好多的编辑软件都是没有保存按钮的,例如 OneNote。


那这种自动保存怎样做最好呢?我现在用了Timer定时保存,请问大侠还有没有更好的解决方案?

程序异常退出后重启恢复原貌:这个小弟是菜鸟,一点思路也没有了,望大侠们指点。

先谢喽!

……
[/Quote]
那只有把所有的用户编辑操作都记录下来。
因为这么做会造成性能恶化,所以需要优化算法。

一个办法是,增量记录修改变化,当到达一定数量再合并。对于数据库程序,还要考虑事务性,并且正确回滚操作。
让爱延续 2011-05-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sjzlxd 的回复:]

引用楼主 zaiduxinling 的回复:
如题,是C# WinForm的。

现在好多的编辑软件都是没有保存按钮的,例如 OneNote。


那这种自动保存怎样做最好呢?我现在用了Timer定时保存,请问大侠还有没有更好的解决方案?

程序异常退出后重启恢复原貌:这个小弟是菜鸟,一点思路也没有了,望大侠们指点。

先谢喽!



所有需要保存的数据 的更改事件中……
[/Quote]
谢谢,和三楼的思路是一样的。
这样的思路可以判断出是否是异常退出了? 那 “恢复原貌”有没有好的策略呢? 最好能将程序异常退出前最后一刻的状态记录下来。 嘿嘿,要求是不是有点过了呀?
让爱延续 2011-05-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 caozhy 的回复:]

定时保存就是最好的办法。或者利用输入空闲保存。

在配置里面(配置可以是ini,注册表、数据库,也可以是文档内的一个数据项)设置一个标志,打开的是置1,退出的时候置0。如果打开的时候发现不是0,说明上次没有正常退出。
[/Quote]

恩,这样的思路可以判断出是否是异常退出了? 那 “恢复原貌”有没有好的策略呢? 最好能将程序异常退出前最后一刻的状态记录下来。 嘿嘿,要求是不是有点过了呀?
人工智能算法 2011-05-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 zaiduxinling 的回复:]
如题,是C# WinForm的。

现在好多的编辑软件都是没有保存按钮的,例如 OneNote。


那这种自动保存怎样做最好呢?我现在用了Timer定时保存,请问大侠还有没有更好的解决方案?

程序异常退出后重启恢复原貌:这个小弟是菜鸟,一点思路也没有了,望大侠们指点。

先谢喽!
[/Quote]


所有需要保存的数据 的更改事件中保存状态到配置文件或者注册表之类的.
并且记录关闭状态,如果只打开了未记录关闭状态则说明上次为异常退出 可进行适当操作.
threenewbee 2011-05-21
  • 打赏
  • 举报
回复
定时保存就是最好的办法。或者利用输入空闲保存。

在配置里面(配置可以是ini,注册表、数据库,也可以是文档内的一个数据项)设置一个标志,打开的是置1,退出的时候置0。如果打开的时候发现不是0,说明上次没有正常退出。
让爱延续 2011-05-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wangwang1103 的回复:]

这个还真不懂,不过Timer定时也是一个好方法啊。
[/Quote]

想问一下还有没有更好的解决方案。 最重要的问题是第二个:程序异常退出后重启恢复原貌。

wangwang1103 2011-05-21
  • 打赏
  • 举报
回复
这个还真不懂,不过Timer定时也是一个好方法啊。

110,545

社区成员

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

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

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