Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net VB 2008跨窗体调用函数_Vb.net - Fatal编程技术网

Vb.net VB 2008跨窗体调用函数

Vb.net VB 2008跨窗体调用函数,vb.net,Vb.net,这是我的节目 Public Class Form1 Dim adult As Decimal Public Function getadult(ByRef adult As Decimal) As Decimal Return adult End Function Public Function setadult(ByVal value As Decimal) As Decimal adult = value End

这是我的节目

Public Class Form1

    Dim adult As Decimal

    Public Function getadult(ByRef adult As Decimal) As Decimal
        Return adult
    End Function

    Public Function setadult(ByVal value As Decimal) As Decimal
        adult = value
    End Function

    Public Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles adultrate.TextChanged

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Call setadult(adultrate.Text)

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Form2.Show()
    End Sub

End Class

Public Class Form2

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim adult As Decimal
        Call getadult(adult)
        MsgBox("the rate for adults is " & adult)
    End Sub

End Class

我无法成功地将函数成人及其值调用到其他形式。如果我在同一个表单中使用它,效果会很好。有什么想法吗?

最简单的选择是在项目中添加一个模块,并将代码放在其中

您还应该使用一个属性

Dim _adult As Decimal
Public Property adult As Decimal
    Get
        Return _adult
    End Get
    Set (byval value As Decimal)
        _adult = value
    End Set
End Property
您的两个表单都可以访问此属性

设置和获取您的财产只需使用

adult = cdec(adultrate.Text)
adultrate.Text = adult
所以对于你的代码

表格1:

Public Class Form1

    Public Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles adultrate.TextChanged

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        adult = CDec(adultrate.Text)

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Form2.Show()
    End Sub

End Class
Public Class Form2

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MsgBox("The rate for adults is " & adult)
    End Sub

End Class
Module Module1

    Dim _adult As Decimal
    Public Property adult As Decimal
        Get
            Return _adult
        End Get
        Set (byval value As Decimal)
            _adult = value
        End Set
    End Property

End Module
表格2:

Public Class Form1

    Public Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles adultrate.TextChanged

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        adult = CDec(adultrate.Text)

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Form2.Show()
    End Sub

End Class
Public Class Form2

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MsgBox("The rate for adults is " & adult)
    End Sub

End Class
Module Module1

    Dim _adult As Decimal
    Public Property adult As Decimal
        Get
            Return _adult
        End Get
        Set (byval value As Decimal)
            _adult = value
        End Set
    End Property

End Module
模块:

Public Class Form1

    Public Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles adultrate.TextChanged

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        adult = CDec(adultrate.Text)

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Form2.Show()
    End Sub

End Class
Public Class Form2

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MsgBox("The rate for adults is " & adult)
    End Sub

End Class
Module Module1

    Dim _adult As Decimal
    Public Property adult As Decimal
        Get
            Return _adult
        End Get
        Set (byval value As Decimal)
            _adult = value
        End Set
    End Property

End Module

当然,您的模块中也可以有一个公共变量…..

的可能副本请参阅我的快速编辑。。。缺少下划线;-)我照你说的做了。。。。我仍然无法跨窗体调用属性。。。。我在一个模块中添加了你告诉我的代码,我在一个表单中调用了get成人(成人),但它不起作用。我只是不明白。。。。它是一个dim(全局)变量和一个公共属性,但仍然以另一种形式调用它会给我带来一个错误..好的。。。。。我说得对吗?打电话给“set成人”和“get成人”,对吗。。。。或者告诉我怎么称呼它……非常感谢。。。。。。你回答并完成了我74小时的搜索。。。。长命百岁