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

问题描述 投票:0回答:1

我一直在建立一个应用程序,该应用程序将从先前表单的输入中读取变量。

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子句中基于变量创建一个新类。这些类已完全设置,正在创建的类正在从中调用,没有问题。

但是,在我的Hoverover子菜单中,它找不到新的声明,说明:未声明“类”。由于其保护级别,因此可能无法访问。

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_Load子句中的新声明?

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

如果这还不够清楚,我会尽力澄清,非常抱歉。有几行代码,我只是参考了一下。谢谢您的时间!

vb.net
1个回答
0
投票

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

如果要在两个函数中都使用它,则需要在表单级别对其进行声明。

© www.soinside.com 2019 - 2024. All rights reserved.