0

我是 Visual Basic 的新手,我被困在井字游戏中。这是我的代码。

Public Class Form1
    Public Enum Buttons As Byte
        btn1 = 1
        btn2 = 2
        btn3 = 3
        btn4 = 4
        btn5 = 5
        btn6 = 6
        btn7 = 7
        btn8 = 8
        btn9 = 9
    End Enum

    Public Sub Computer()
        Dim RandomNumberGenerator As New Random
        Dim RandomNumber As Integer
        RandomNumber = RandomNumberGenerator.Next(1, 9)
        Dim RandomButton = CType(RandomNumber, Buttons)
        Do
            If RandomButton.Enabled = True Then
                RandomButton.Enabled = False
                RandomButton.Text = "O"
                RandomButton.Font = New Font("Consolas", 50, FontStyle.Bold)
                Exit Do
            Else
                RandomNumber = RandomNumberGenerator.Next(1, 9)
                Dim RandomButton = CType(RandomNumber, Buttons)
            End If
        Loop

我遇到的问题是 if 循环。我正在尝试查看选择的随机按钮是否已启用。但相反,Visual Basic 告诉我“Enable 不是 Tic_Tac_Toe.Fourm1.Buttons 的成员。我想知道是否有任何方法可以通过枚举禁用或启用按钮。有人可以帮我解决这个问题吗?

4

1 回答 1

1

第一个问题:您的枚举(按钮)没有成员“启用”。您正在枚举上设置按钮的属性,这不起作用。

您必须为每个“随机按钮”创建一个实际的 UI 按钮并设置值、ID 和文本,然后将其添加到表单中。此时您可以获取/设置这些属性,包括“启用”。

如果这些按钮都在表单上并且您只是想随机选择一个,您可以使用Me.Controls.Find(ID)

于 2013-06-04T00:40:01.003 回答