将代码放入VBA用户表单而不是“常规”模块中是否有缺点?这可能是一个简单的问题,但是在搜索网络和stackoverflow时,我还没有找到最终的答案。背景:我正在用Excel-VBA开发数据库的前端应用程序。要选择不同的过滤器,我有不同的用户形式。我问哪种通用程序设计更好:(1)将控制结构放入单独的模块中,或者(2)将下一个用户表单或操作中的代码放入userform中。让我们举个例子。我有一个Active-X按钮,可触发我的过滤器和表单。Variant1:模块在命令按钮中:Private Sub CommandButton1_Click() call UserInterfaceControlModuleEnd Sub在模块中:Sub UserInterfaceControllModule()Dim decisionInput1 As BooleanDim decisionInput2 As BooleanUserForm1.ShowdecisionInput1 = UserForm1.decisionIf decisionInput1 Then UserForm2.ShowElse UserForm3.ShowEnd IfEnd Sub在变体1中,控制结构位于常规模块中。并且关于接下来要显示哪个用户表单的决定与用户表单分开。决定下一个要显示的用户表单所需的任何信息都必须从用户表单中提取。形式2:用户表单在CommadButton中:Private Sub CommandButton1_Click() UserForm1.ShowEnd Sub在Userform1中:Private Sub ToUserform2_Click() UserForm2.Show UserForm1.HideEnd SubPrivate Sub UserForm_Click() UserForm2.Show UserForm1.HideEnd Sub在变体2中,控件结构直接位于用户窗体中,每个用户窗体都有有关其后继内容的说明。我已经开始使用方法2进行开发。如果这是一个错误,并且此方法有一些严重的缺点,我希望尽快了解它。
3 回答
天涯尽头无女友
TA贡献1831条经验 获得超9个赞
在这个答案的帮助下,我终于开始了解MVP链接如何工作以使视图和逻辑保持分离。我从来没有使用过OOP,因此,如果“确定”按钮(例如)仅隐藏表单,那么就无法考虑表单如何按要求运行。在这个答案的帮助下,我建立了两个有效的MVP示例,即使我知道它在做什么,它仍然看起来像魔术。您是否认为MVP严格来说是OOP模式?如果没有,一个没有对象的人将如何实现呢?
- 3 回答
- 0 关注
- 594 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消