简体   繁体   English

BC30451 VisualBasic错误

[英]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.

相关问题 错误消息:BC30451:未声明“ RouteConfig” - Error Message: BC30451: 'RouteConfig' is not declared BC30451'RegistryValueKind'未声明 - BC30451 'RegistryValueKind' is not declared 编译器错误消息:BC30451:未声明名称“ cmbY” - Compiler Error Message: BC30451: Name 'cmbY' is not declared 这实际上是什么意思:编译器错误消息:BC30451 - What does this really mean: Compiler Error Message: BC30451 Visual Studio 2017 VB.NET 错误 BC30451:未声明“变量”。 由于其保护级别,它可能无法访问 - Visual Studio 2017 VB.NET error BC30451: 'variable' is not declared. It may be inaccessible due to its protection level 带有 VB.NET 的 MVC5:“BC30451:'ViewData' 未声明。” 切换到调试配置时 - MVC5 with VB.NET: “BC30451: 'ViewData' is not declared.” when switching to Debug configuration BC30451'VARIABLE'未声明。 由于其保护级别,它可能无法访问 - BC30451 'VARIABLE' is not declared. It may be inaccessible due to its protection level BC30451:未声明'MailValidation'。 由于其保护级别,它可能无法访问 - BC30451: 'MailValidation' is not declared. It may be inaccessible due to its protection level 错误 BC30456:“VisualBasic”不是“Microsoft”的成员 - error BC30456: 'VisualBasic' is not a member of 'Microsoft' Global.Micrsoft.VisualBasic.ApplicationsServices ...未定义错误BC30002 - Global.Micrsoft.VisualBasic.ApplicationsServices... is not defined error BC30002
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM