1

我想知道如何将值从 form1 传递到另一个表单的公共子。问题是它说“在这种情况下它是不可访问的,因为它是‘私人的’。”

我尝试将 Form 1 Private Sub 更改为 Public Sub,但仍然存在相同的错误。我应该如何使它工作?

Public Class Form1
Dim test(), text1 As String
Const asd = "abcabc"

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    text1 = Space(LOF(1))
    test = Split(text1, asd)
    HOST = test(1)
End Sub

我想将 HOST = test(1) 值传递给另一种形式

Public Class Form2

Public Sub Check()
    'get the value to here
End Sub
4

2 回答 2

1

您可以将其作为参数传递:

Public Sub Check(valueToCheck as String)
   'get the value to here
End Sub

或者在form2上创建一个属性来接收它:

private _HostOrSomething As String = ""
Friend Property HostOrSomething As String
   Get
        Return _HostOrSomething 
    End Get
    Set(ByVal value As String)
        _HostOrSomething = value
    End Set

在这种情况下,Sub Check 可以使用 _HostOrSomething,因为它是本地变量。要使用这些:

HOST = Test(1)
frm2.Check(HOST)

或者

HOST = Test(1)
frm2.HostOrSomething = HOST
frm2.Check
于 2013-10-27T13:43:22.737 回答
-2

您可以使用全局变量将数据从一个传递到另一个

        Dim A As New Integer= 10

这里你如何声明 global 类可以在应用程序的任何地方定义。

Public Class GlobalVariables
Public Shared INTver As Integer
End Class

以及如何使用全局变量来存储答案在这里

GlobalVariables.INTver= A

将此行放在您的“privet sub”中,您可以将变量访问到您的 WINDOWS 应用程序中的任何表单。

于 2017-07-08T17:46:44.817 回答