Visual Basic 2010 / Sub过程

时间:2010-10-16 08:13:27

标签: vb.net visual-studio-2010

我从教科书中复制了确切的代码,但我有以下错误。

Error   3   'txtOutput' is not declared. It may be inaccessible due to its protection level.    C:\Users\Woong-Sup\AppData\Local\Temporary Projects\WindowsApplication1\Form1.vb    13  17  WindowsApplication1

Error   4   'txtOutput' is not declared. It may be inaccessible due to its protection level.    C:\Users\Woong-Sup\AppData\Local\Temporary Projects\WindowsApplication1\Form1.vb    15  17  WindowsApplication1

Error   1   Handles clause requires a WithEvents variable defined in the containing type or one of its base types.  C:\Users\Woong-Sup\AppData\Local\Temporary Projects\WindowsApplication1\Form1.vb    2   44  WindowsApplication1

有谁能告诉我这是什么问题?如果我可以将你添加到我的msn并提出更多问题,我将不胜感激!感谢

Public Class Form1
    Private Sub btnDisplay_Click() Handles btnDisplay.Click
        Dim anyDate As Date
        anyDate = CDate(InputBox("Input a date. (mm/dd/yyyy)"))
        ShowCentury(anyDate)
    End Sub

    Sub ShowCentury(ByVal anyDate As Date)
        Select Case anyDate
            Case Is >= #1/1/2000#
                txtOutput.Text = "twenty-first century"
            Case Is >= #1/1/1900#
                txtOutput.Text = "twentieth century"
            Case Else
                txtOutput.Text = "prior to the twentieth century"
        End Select
    End Sub
End Class

3 个答案:

答案 0 :(得分:0)

txtOutput应该是表单上的文本框(上面form1

答案 1 :(得分:0)

这是一个部分类;它不会独立存在。这个类的“Form1”形式是(你有一个名为“Form1”的表单,对吗?)需要一个名为“btnDisplay”的按钮和一个名为“txtOutput”的文本框。

如果您有这样的表格,并且上面存在控件,请确保两者都将“GenerateMember”属性设置为True。

答案 2 :(得分:0)

这是一个老问题,但有趣。我发现了一个可能的问题...

当我在Form1中粘贴代码然后添加Button和Textbox时,即使根据代码中的名称重命名它们,我也会得到相同的错误。

但是,当我首先添加Button和Textbox然后粘贴代码时,它在重命名Button和Textbox后工作正常。

另一个奇怪的是,当我首先粘贴代码然后添加Button和Textbox(就像我在第一个例子中所做的那样)时,我可以从代码中复制Button名称和Textbox名称并将它们粘贴到Properties窗口中,它会奏效。用键盘输入名称是行不通的。

我不知道为什么会这样,但至少它部分有助于解释这个问题。

我认为这是IDE或编译器中的错误。