我几乎是 vb.net 的初学者,我必须做一些代码。我想从另一个类(即表单 1(调用表单 2 中的按钮单击,问题是定义为公共的变量,它们的值不会在两个表单之间传递。我的代码简单地呈现如下:
Public class form2
Public Property ResponseTime1 As String
Public Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click
Responsetime2 = 20
End sub
End class
Pub class form1
Dim Resposetime as string
Dim z as new form2
Public Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
z.button1_click(sender, e)
ResponseTime = form2.ResponseTime2
MsgBox(ResponseTime) '' show nothing????????????
End sub
End class
如果有人帮助我,我将不胜感激
我看到的第一个问题是从未声明Responsetime2
。一些拼写错误进一步弄乱了代码。即使我在Responsetime2 = 20
前面贴了一个 Dim 它仍然对 from1 不可见。仅仅因为方法是公共的并不意味着方法内部的可用对象是可见的。即使它是可见的,'响应时间2 也是一个整数,并且您已将响应时间声明为字符串。
从另一个类调用事件过程不是一个好主意。 事件过程用于响应事件,默认情况下是私有的。使代码成为单独的公共方法,并从 form2.button1_Click 和 form1 调用它。
Public Class form25
Public Property ResponseTime2 As Integer
Private Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click
SetResponseTime2()
End Sub
Public Sub SetResponseTime2()
ResponseTime2 = 20
End Sub
End Class
Public Class form15
Dim Responsetime As Integer
Dim z As New form25
Public Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
z.SetResponseTime2()
Responsetime = z.ResponseTime2
MsgBox(Responsetime.ToString)
End Sub
End Class
嗨,亲爱的,我不知道你为什么做这个Public Property ResponseTime1 As String
很可能你有理由这样做,但我要向你展示我会怎么做
表单 1 代码
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
form2.show
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
MsgBox(Form2.ResponseTime)
End Sub
End Class
表单 2 代码
Public Class Form2
Public ResponseTime As String
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
ResponseTime = "test"
End Sub
结束类
我测试了这个及其工作 希望我能帮助你