网站建设资讯

NEWS

网站建设资讯

包含vb点虐 实现撤销功能的词条

vb如何编辑撤销命令

基本上这类功能只能用代码实现,原理是每次处理用户操作都用变量或文件保存前一次的数据,如果操作可逆则只记录操作也行,代码要写好多。最简单的方法应该是用临时文件保存每次修改后的结果,然后用个数组保存各文件对应的操作序号,如果存档文件很大则不太理想。用逆向操作的方法就比较复杂,每触发一次修改事件都要记录,而且还原的代码也可能相当麻烦。自己挑一种吧。

成都创新互联公司的客户来自各行各业,为了共同目标,我们在工作上密切配合,从创业型小企业到企事业单位,感谢他们对我们的要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。专业领域包括网站设计、成都做网站、电商网站开发、微信营销、系统平台开发。

VB中如何简单的实现撤消(undo)和恢复(redo)功能

不经过优化最简单的就是记录每一步的操作,然后反向操作回去就好了··,比方说你可以加两个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,那你撤销时候就调用这个函数好了··,还原的时候当然还是调用原来的那个函数。不过基本上不是特别多的话,用第一种方法就够用了··省事···呵呵···不知不觉地说了这么多··呵呵·· 当然也可以用数组来存储当前操作和历史操作的···

大神们!VB中怎么设计点击按钮实现返回(即撤销)的操作、同时前进(即不撤销)的操作。谢谢

控件都有.tag属性

你可以通过在.tag属性里保存值来确定当前按钮进行到哪一步

窗口内容的变化无非是对象的visible属性true 和false 的变化。

11个类似的窗口可以用11个放到窗口上frame来实现,frame里放上你的textbox等对象,一个前进(下一个)按钮的代码类似于:

with command1

select case .tag

case "1" '第一个窗口

frame1.visible=false

frame2.visible=true

.tag=2

case "2" '第2个窗口

frame2.visible=false

frame3.visible=true

.tag=3

....

case "n" '第n个窗口

end select

如果是用控件数组则代码可以写的非常精简


分享标题:包含vb点虐 实现撤销功能的词条
链接地址:http://cdweb.net/article/ddgpdji.html