.NET:从模块设置主窗体属性的最佳实践

时间:2014-04-14 14:22:08

标签: vb.net forms class module logic

我有一个主要表格。 我的应用程序的逻辑是巨大的。我的应用程序中有大约100个模块。 在某些模块中,我需要设置主窗体控件的一些属性。

我觉得这样的话叫

Public Module SomeStuff

    Public Sub DoSomething
      frmMain.MyControl.Location = ...
    End Sub

End Module

......真的很脏。

但是,我无法将所有内容从模块移动到主窗体中。

有没有最好的做法来处理这种情况?

编辑:我的代码有效,但感觉很难看。

谢谢!

1 个答案:

答案 0 :(得分:2)

在模块中设置表单属性有很多选项,包括:

  • 将表单或表单控件的实例传递给要设置的模块函数
  • 返回要在表单
  • 上设置的模块函数的值

表格作为参数

表单或特定表单控件可以作为参数传递给设置属性的模块。这样您就不会依赖于表单的静态实例。但是,您的功能可能仍然与UI紧密耦合,这可能会使单元测试变得更加困难。

返回值

为了保持业务逻辑和UI之间的分离,您可以通过结构,类或字典返回需要应用于表单的值。然后定义一个方法或函数,将值绑定到表单控件。