Vb.net 类错误:未声明类。由于其保护级别,可能无法访问

Vb.net 类错误:未声明类。由于其保护级别,可能无法访问,vb.net,Vb.net,我一直在设置一个应用程序,它将从以前表单的输入中读取变量 Public Sub frmGame_Load(sender As Object, e As EventArgs) Handles Me.Load Dim index As Integer Dim index1 As Integer For index1 = 1 To 6 For index = 1 To 11 If index1 = 1 Then If

我一直在设置一个应用程序,它将从以前表单的输入中读取变量

Public Sub frmGame_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim index As Integer
Dim index1 As Integer

    For index1 = 1 To 6
        For index = 1 To 11

            If index1 = 1 Then
                If index = 1 AndAlso index = frmPicks.pickOne Then
                    ptrTopOne.Image = ptrWarriorImage.Image
                    Dim topOne As New Warrior
在运行if-then比较之后(因为我有几个不同的类要创建,基于变量数据),我基于这个frmGame_Enter子模块中的变量创建了一个新类。这些类已经完全设置好,正在创建的类正在从中调用,没有问题

但是,在我的鼠标悬停sub中,它无法找到新的声明,声明: 未声明“类”。由于其保护级别,可能无法访问

Private Sub ptrTopOne_MouseHover(sender As Object, e As EventArgs) Handles ptrTopOne.MouseHover
    If p1Turn = True Then
        If hoverOff = False Then
            HoverOver = 1
            If topOne.getMoveProperties() = 0 Then
                btnMoveBox.Hide()
无法读取frmGame_加载子模块中的新声明

那么,我的问题是: 我如何能够在代码中声明我的新类,以便它在表单加载时声明,并且仍然可以使用比较


如果这不够清楚,我会尽量澄清,非常抱歉。这里有几行代码,我只是参考一下。谢谢你抽出时间

我认为您的问题描述不正确。看起来您关心的是变量topOne。这看起来像是一个可变范围的问题。topOne仅存在于条件“If index=1且also index=frmPicks.pickOne”中。一旦该条件关闭(如果结束),该变量就会消失


如果你想在两个函数中使用它,它需要在窗体级别声明。

为什么你要标记这个C++?谢谢你的批改