【发布时间】:2012-01-02 21:34:58
【问题描述】:
我有一些代码试图在标签页中使用变量。第一个标签页只有一个用于用户输入的文本框 (miles.text) 和一个用于计算的按钮:旅行时间 = 里程/速度。来自miles.text 的值存储在一个名为mileage 的变量中,而使用的速度存储在一个名为speed (me.speedtextbox.text) 的变量中。
通常,执行 val(variable.text) 就像一个魅力,但在这种情况下它不会这样做。当用户输入 100 作为里程数时,它应该除以 65(数据库中的数字),因此,答案应该是 1.53 小时。就我而言,我得到的是“无穷大”,每当我对变量做任何其他事情时,我都会得到“当从一个数字转换时,该值必须是一个小于无穷大的数字”。但它是!它只有 65,我仔细检查了数据集是否也这么说,确实如此。不知道为什么我会收到此错误...谢谢!
Public Class Form1
Private Property Traveltime As Decimal
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'fooDataSet.testdata' table. You can move, or remove it, as needed.
Me.TestdataTableAdapter.Fill(Me.foouDataSet.testdata)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim mileage As Integer
Dim speed As Integer
mileage = Val(miles.Text)
speed = Val(Me.SpeedTextBox.Text)
traveltime = mileage / speed
txttraveltime.text = Traveltime.ToString
End Sub
Private Sub txtrate_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txttraveltime.TextChanged
End Sub
End Class
所以我做了一个测试程序,它只做了一件事,那就是简单地读取单行数据库中的一个数据列并将其存储到一个局部变量并将其乘以 1.60,除非现在我得到“引用非共享成员需要对象引用”,当我声明它时,它似乎无法识别 Me.Speed。我究竟做错了什么?
Public Class Form1
Dim Speed As Object
Dim Me.Speed As New Speed
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Speed = CDec(fooDataSet.testdataRow.Item("speed"))*1.60
Speedtextbox.text = Me.Speed.tostring
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'fooDataSet.testdata' table. You can move, or remove it, as needed.
Me.TestdataTableAdapter.Fill(Me.fooDataSet.testdata)
End Sub
End Class
【问题讨论】:
-
不客气。另外,由于您是 StackOverflow 的新手,我想通知您,您可以通过选中答案旁边的勾号来为好的答案投票并接受对您帮助最大的答案。在本网站上,点赞或接受的答案都算作“感谢”。
标签: vb.net visual-studio-2010 textbox