社区
C#
帖子详情
寻 "自动保存"及"程序异常退出重启后恢复原貌" 的最佳解决方案 WinForm
让爱延续
2011-05-21 05:21:30
如题,是C# WinForm的。
现在好多的编辑软件都是没有保存按钮的,例如 OneNote。
那这种自动保存怎样做最好呢?我现在用了Timer定时保存,请问大侠还有没有
更好的解决方案
?
程序异常退出后重启恢复原貌:这个小弟是菜鸟,一点思路也没有了,望大侠们指点。
先谢喽!
...全文
422
7
打赏
收藏
寻 "自动保存"及"程序异常退出重启后恢复原貌" 的最佳解决方案 WinForm
如题,是C# WinForm的。 现在好多的编辑软件都是没有保存按钮的,例如 OneNote。 那这种自动保存怎样做最好呢?我现在用了Timer定时保存,请问大侠还有没有更好的解决方案? 程序异常退出后重启恢复原貌:这个小弟是菜鸟,一点思路也没有了,望大侠们指点。 先谢喽!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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定时也是一个好方法啊。
C#语音自动朗读机器人:可中断、可监控、可嵌入的生产级实现
语音自动朗读是人机交互的基础能力,其本质是将文本语义转化为具备时间精度与上下文感知的音频流。核心原理在于TTS引擎调度、音频线程模型控制与实时事件响应机制,技术价值体现在确定性延迟、毫秒级可观测性及跨场景可嵌入性。典型应用场景包括智能客服播报、工业HMI语音反馈、无障碍辅助系统及边缘端离线语音服务。本文聚焦C#在Windows平台下基于System.Speech.Synthesis构建高可靠语音执行体的工程实践,深入解析STA线程约束、SAPI5 COM互操作、SSML语义节奏控制与可中断播放队列等关键环节
Hermes Web UI:无需npm和PowerShell的轻量级工业监控Web界面
Web UI 是现代后端服务远程管理的基础能力,其核心在于将服务状态、日志、任务调度等能力通过浏览器统一呈现。传统方案常依赖 Node.js 生态(如 npm)、PowerShell 脚本或 Electron 框架,导致 Windows 工控环境部署门槛高、权限报错频发。Hermes Web UI 采用 Go 内置 HTTP 服务 + 嵌入式前端资源架构,彻底规避 npm 安装、PowerShell 执行策略限制与 Node.js 运行时依赖,实现双击即用。它支持与 C# 上位机、Linux Agent 无
VID_20260716_195512.mp4
VID_20260716_195512.mp4
stm32单片机项目资料课程设计文档C语言
程序
代码原理图电路PCB实例焊后热处理温控装置
stm32单片机项目资料课程设计文档C语言
程序
代码原理图电路PCB实例焊后热处理温控装置
C#
111,129
社区成员
642,540
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章