我有一个主要表格。 我的应用程序的逻辑是巨大的。我的应用程序中有大约100个模块。 在某些模块中,我需要设置主窗体控件的一些属性。
我觉得这样的话叫
Public Module SomeStuff
Public Sub DoSomething
frmMain.MyControl.Location = ...
End Sub
End Module
......真的很脏。
但是,我无法将所有内容从模块移动到主窗体中。
有没有最好的做法来处理这种情况?
编辑:我的代码有效,但感觉很难看。
谢谢!
答案 0 :(得分:2)
在模块中设置表单属性有很多选项,包括:
表格作为参数
表单或特定表单控件可以作为参数传递给设置属性的模块。这样您就不会依赖于表单的静态实例。但是,您的功能可能仍然与UI紧密耦合,这可能会使单元测试变得更加困难。
返回值
为了保持业务逻辑和UI之间的分离,您可以通过结构,类或字典返回需要应用于表单的值。然后定义一个方法或函数,将值绑定到表单控件。