如何vb实现撤消操作功能
答案:2 悬赏:0 手机版
解决时间 2021-02-20 02:27
- 提问者网友:辞取
- 2021-02-19 17:34
希望有达人指点一二,不用很具体.
最佳答案
- 五星知识达人网友:拜訪者
- 2021-02-19 19:01
你用Session吧
等同与注销的功能
比如我在一个按钮事件中这么写
protected void Button2_Click(object sender, EventArgs e)
{
HttpContext.Current.Session.Clear();//清空会话
HttpContext.Current.Session.Abandon();//停止会话
}
试试看可以不~
等同与注销的功能
比如我在一个按钮事件中这么写
protected void Button2_Click(object sender, EventArgs e)
{
HttpContext.Current.Session.Clear();//清空会话
HttpContext.Current.Session.Abandon();//停止会话
}
试试看可以不~
全部回答
- 1楼网友:轻雾山林
- 2021-02-19 19:40
不经过优化最简单的就是记录每一步的操作,然后反向操作回去就好了··,比方说你可以加两个visible为false的list(list1和list2)
其中list1用来存储现在当前的操作,list2用来存储历史操作。
你每操作一步,比方说点击了label2,那list1中就additem "label2"
其中list1增加项目时候,list2复制为list1
要撤销的时候,就是将list1的最后一项删除掉,这个时候list2保持不变。要还原的话,先判断list1.listcount 是否和 list2.listcount相同。若相同则不进行还原(可以提示说已经是最新的操作了),若不相同,则list1.additem list2.list(list1.listcount)
上面说的只是记录还原和撤销的记录,其关联的是还原和撤销的功能,比方说你简单点的可以将所有的line的颜色以及text全部初始化,然后只要你激发了撤销恢复功能,不论你是还原还是撤销,都是重新执行一遍list1中的存在的信息记录。比方说你list1中的记录是 label1 label3 label4,那就相当于顺序执行 label1_click label3_click label4_click 那就可以了··
如果你要效率高一点的话,那就你在编程的时候对每一个执行任务编写一个反向编程 比方说你有label1_click 那你就变写一个还原label1_click的函数比方说是anti_label1,那你撤销时候就调用这个函数好了··,还原的时候当然还是调用原来的那个函数。不过基本上不是特别多的话,用第一种方法就够用了··省事···呵呵···不知不觉地说了这么多··呵呵·· 当然也可以用数组来存储当前操作和历史操作的···
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯