VB.Net Passing values to another form

2019-01-09 19:42发布

I would like to know how to pass a value from form1 to another form's public sub. The problem is that it says "it is not accesible in this context because it is 'Private'."

I've tried changing Form 1 Private Sub to Public Sub but the same error remains. How should i make it work?

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

And i want to pass HOST = test(1) value to another form

Public Class Form2

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

2条回答
干净又极端
2楼-- · 2019-01-09 19:59

You could pass it as a parameter:

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

Or create a property on form2 to receive it:

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

In which case, Sub Check could use _HostOrSomething since it is local var. To use these:

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

or

HOST = Test(1)
frm2.HostOrSomething = HOST
frm2.Check
查看更多
叼着烟拽天下
3楼-- · 2019-01-09 20:07

You can use global variables to pass data from one from to another

        Dim A As New Integer= 10

Here how you declare the global The class can be define anywhere in the application.

Public Class GlobalVariables
Public Shared INTver As Integer
End Class

And how you use global variable to store the answer is here

GlobalVariables.INTver= A

put this lines in your "privet sub" and you can access the variable to any of your form that is in your WINDOWS application.

查看更多
登录 后发表回答