解决方案 »
- System.Windows.Forms里的TIMER
- 关于接口的小问题
- 对图片文件如何求MD5散列码?
- XML文件导入数据库 为什么总提示“对于不返回任何基表信息的 SelectCommand 不支持动态 SQL 生成”,网上找不到答案的问题,郁闷中
- 一个普通的WinForm工程,能添加水晶报表吗?
- C#开发Outlook插件 禁用“Outlook安全警告”对话框的问题
- 利用Open XmlSDK如果读取日期型的数据???急,请教各位大侠
- C#如何使用代码复制并粘贴excel的特定区域
- 在客户端如何实现ftp的用户名与密码登录命令
- 正则取指定class的href
- WF 系统 内存问题
- 在线急等,求记录C#程序崩溃的DUMP 代码。
我现在遇到的问题是这样的: 我写了个控件,要求能实现一些撤销和重做的功能。而撤销和重做的主要体现在对一个类的属性的
修改。所以我想的是,做个堆栈,然后把这个类在不同的操作时刻推入堆栈,然后在撤销的时候出栈覆盖现有的类就好了。因为在
C#中的类属于引用类型,所以在入栈之前需要先克隆一个新的类放入。所以我就想用序列化和反序列化了。
不知道你有什么好的方法来实现撤销和重做啊? 希望指教一下。这个类的值可以被propertygrid 控件进行修改,也可能根据用户的一下操作来修改,比如移动,重新定义尺寸等。
new一个新的类然后传入当前值,保存在list<T>里就好了