vbshared sub/函数在VB .NET应用程序中



我在VB.NET应用程序中有2个表格-FormAFormB。这两种表单都有一个名为 textbox1的文本框和一个相同的功能,该功能从某些SQL查询-Sub getvaluefromSQL()-更新文本框,该框由按钮或其他内容触发。

  1. 是否有一种方式可以从称为CentralModule的共享模块中访问getvaluefromSQL(),而不是以两种形式复制getvaluefromSQL()的代码?
  2. 如何确保getvaluefromSQL()从称为它的表单中更新正确的文本框?

谢谢。

您可以使用公共(或朋友)函数创建一个模块。您将把文本框作为参数传递给该函数。如果SQL不同,您也可以通过SQL。

正如其他人建议的那样,具有在数据库,UI上执行操作的函数,也许还有其他功能是一个可怕的想法。您需要分开关注点,从而为I/O操作,UI管理,业务逻辑等设计不同的功能。因此,您需要更改设计。

首先,当然有一种方法可以将通用代码放在共享模块中 - 例如CentralModule。这就是模块的目的。

Module CentralModule
    Public Function getvaluefromSQL() As String
        Dim result As String
        ' Fetch your data from SQL, calculate as necessary and assign the result
        Return result
    End Function
End Module

然后,进入您的每个表格这样做:

Public Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    textbox1.Value = CentralModule.getvaluefromSQL
End Sub

最新更新