似乎无法禁用按钮

时间:2013-06-04 00:35:03

标签: vb.net if-statement

我是Visual Basic的新手,我坚持使用Tic Tac Toe练习。这是我的代码。

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告诉我“启用不是Tic_Tac_Toe.Fourm1.Buttons的成员。我想知道是否有任何方法可以通过枚举禁用或启用按钮。有人可以帮我解决这个问题吗?” / p>

1 个答案:

答案 0 :(得分:1)

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

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

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