我想知道如何将一个值从form1传递给另一个form的公共子。 问题在于它说'#34;它在这种情况下是不可访问的,因为它是私有的。"
我尝试将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
答案 0 :(得分: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,因为它是local var。要使用这些:
HOST = Test(1)
frm2.Check(HOST)
或
HOST = Test(1)
frm2.HostOrSomething = HOST
frm2.Check
答案 1 :(得分:-2)
您可以使用全局变量将数据从一个传递到另一个
Dim A As New Integer= 10
这里是如何声明全局的。类可以在应用程序的任何位置定义。
Public Class GlobalVariables
Public Shared INTver As Integer
End Class
如何使用全局变量来存储答案
GlobalVariables.INTver= A
将这些行放在你的" privet sub"并且您可以将变量访问到WINDOWS应用程序中的任何表单。