[英]BC30451 VisualBasic Error
I'm trying to make a calculator in VisualBasic, however it throws this error at me. 我正在尝试在VisualBasic中制作一个计算器,但是它向我抛出了此错误。 Replacing
CastNumbers()
with the functions' code fixes the error somewhat, but I'm still curious how to fix this. 用函数的代码替换
CastNumbers()
可以部分修复该错误,但是我仍然很好奇如何解决此问题。 I couldn't find any relevant answers which I would understand on the internet, because this is my first programming project in 2 years (I started doing some stuff in CSharp
, but I stopped). 我在互联网上找不到任何相关的答案,因为这是我两年来的第一个编程项目(我开始在
CSharp
做一些工作,但我停了下来)。
Public Class Form1
Private Sub b_ClickMe_Click(sender As Object, e As EventArgs) Handles b_ClickMe.Click
MyTextBox.Text = "Hello"
'---Dim firstNum As Integer = CInt(number1.Text)
'---Dim secondNum As Integer = CInt(number2.Text)
'---sum.Text = firstNum + secondNum
End Sub
Public Function CastNumbers()
'//--- Converts input to integer, casts as firstNum and secondNum
Dim firstNum As Integer = CInt(number1.Text)
Dim secondNum As Integer = CInt(number2.Text)
End Function
Private Sub b_plus_Click(sender As Object, e As EventArgs) Handles b_plus.Click
CastNumbers()
sum.Text = firstNum + secondNum
End Sub
Private Sub b_minus_Click(sender As Object, e As EventArgs) Handles b_minus.Click
CastNumbers()
sum.Text = firstNum - secondNum
End Sub
Private Sub b_multiply_Click(sender As Object, e As EventArgs) Handles b_multiply.Click
CastNumbers()
sum.Text = firstNum * secondNum
End Sub
Private Sub b_divide_Click(sender As Object, e As EventArgs) Handles b_divide.Click
CastNumbers()
sum.Text = firstNum / secondNum
End Sub
End Class
You have defined your variables in a function and trying to use them outside of that function. 您已经在函数中定义了变量,并试图在该函数之外使用它们。 That is the problem.
那就是问题所在。
Try this, 尝试这个,
Public Class Form1
Dim firstNum As Integer
Dim secondNum As Integer
Private Sub b_ClickMe_Click(sender As Object, e As EventArgs) Handles b_ClickMe.Click
MyTextBox.Text = "Hello"
'Dim firstNum As Integer = CInt(number1.Text)
'Dim secondNum As Integer = CInt(number2.Text)
'sum.Text = firstNum + secondNum
End Sub
Public Function CastNumbers() 'Converts input to integer, casts as firstNum and secondNum
firstNum = CInt(number1.Text)
secondNum = CInt(number2.Text)
End Function
Private Sub b_plus_Click(sender As Object, e As EventArgs) Handles b_plus.Click
CastNumbers()
sum.Text = firstNum + secondNum
End Sub
Private Sub b_minus_Click(sender As Object, e As EventArgs) Handles b_minus.Click
CastNumbers()
sum.Text = firstNum - secondNum
End Sub
Private Sub b_multiply_Click(sender As Object, e As EventArgs) Handles b_multiply.Click
CastNumbers()
sum.Text = firstNum * secondNum
End Sub
Private Sub b_divide_Click(sender As Object, e As EventArgs) Handles b_divide.Click
CastNumbers()
sum.Text = firstNum / secondNum
End Sub
End Class
Thank you all for your help. 谢谢大家的帮助。 The code now looks like this.
现在的代码如下所示。
Public Class Form1
Dim firstNum As Integer
Dim secondNum As Integer
Private Sub b_ClickMe_Click(sender As Object, e As EventArgs) Handles b_ClickMe.Click
MyTextBox.Text = "Hello"
End Sub
Public Function ReadNumbers() 'Converts input to integer, casts as firstNum and secondNum
firstNum = CInt(number1.Text)
secondNum = CInt(number2.Text)
End Function
Private Sub b_plus_Click(sender As Object, e As EventArgs) Handles b_plus.Click
ReadNumbers()
sum.Text = firstNum + secondNum
End Sub
Private Sub b_minus_Click(sender As Object, e As EventArgs) Handles b_minus.Click
ReadNumbers()
sum.Text = firstNum - secondNum
End Sub
Private Sub b_multiply_Click(sender As Object, e As EventArgs) Handles b_multiply.Click
ReadNumbers()
sum.Text = firstNum * secondNum
End Sub
Private Sub b_divide_Click(sender As Object, e As EventArgs) Handles b_divide.Click
ReadNumbers()
sum.Text = firstNum / secondNum
End Sub
End Class
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.