Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 撤消非文本框控件_Vb.net_Winforms_Undo - Fatal编程技术网

Vb.net 撤消非文本框控件

Vb.net 撤消非文本框控件,vb.net,winforms,undo,Vb.net,Winforms,Undo,来自vba的.net新手决定使用vb.net和SQL Server重写一个管理应用程序 开始为我的应用程序编写基本库 我创建了自定义控件以在我的应用程序中使用,该应用程序将公开缩放功能、当前活动控件的背景色。修改后的属性类似于textbox中可用的属性,以及一些额外的其他属性(SQLTableName、SQLColumnName,…),以允许在容器(表单)中进行迭代用于修改控件,并通过SQLProcessClass更新/插入到SQL表中 同时,我还想实现一个简单的撤销功能。 我的第一个想法是,如

来自vba的.net新手决定使用vb.net和SQL Server重写一个管理应用程序

开始为我的应用程序编写基本库

我创建了自定义控件以在我的应用程序中使用,该应用程序将公开缩放功能、当前活动控件的背景色。修改后的属性类似于textbox中可用的属性,以及一些额外的其他属性(SQLTableName、SQLColumnName,…),以允许在容器(表单)中进行迭代用于修改控件,并通过SQLProcessClass更新/插入到SQL表中

同时,我还想实现一个简单的撤销功能。 我的第一个想法是,如果修改的属性为False,则在OnEnter事件中添加一个PrevValue变量集,从而在自定义控件中公开一个OldValue属性和一个Undo方法

但是,我发现TextBoxBaseClass已经公开了一个Undo方法,并且有一个UndoEngineClass可用。 不幸的是,vs帮助文件没有给出如何使用/实现该类的示例

有没有人能解释一下UndoEngine类非文本框控件的用法,以及是否建议使用它或者自己编写(正如我最初打算做的那样——我还发现了一些关于undo/redo类的有趣文章),但是如果.net已经为它提供了类,为什么要重新发明轮子呢


thks

UndoEngineClass
用于在UI设计器中实现撤消。其他控件需要类似于您的
以前的值
。但是,从项目其余部分的声音来看,您应该了解ORM和映射器,它们可能已经完成了您正在使用的专门定制控件的工作。我没有查看内置文档,但请看一下:……另外,您描述的撤销只是独立于您正在创建的文档或对象的每个控件—这些控件不跟踪对象更改的顺序—只是它们的最后一个值。文档撤消将是表单级别的类型。您是否计划使用SQL将数据保存到?如果是这样,您可以创建备份表,在编辑时将原始值转储到该表,然后在用户保存时更新临时表。当用户提交数据时,将其推送到实际表中。。。这就像有一个游乐场。。。