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小时的搜索。。。。长命百岁