2013-06-04 59 views
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的成員,我想知道是否有任何方法可以通過枚舉禁用或啓用按鈕。有人可以幫我弄清楚這個嗎?

回答

1

第一個問題:你的枚舉(按鈕)沒有一個成員「已啓用」你是一個枚舉設置按鈕的屬性,這是行不通的

你必須創建一個實際的UI按鈕對於每個「RandomButton」並設置值,ID和文本,然後將其添加到表單中。此時,您可以獲取/設置這些屬性,包括「Enabled」。

如果這些按鈕都在窗體上已經和你只是想挑選一個隨機一個,你可以用Me.Controls.Find(ID)

+0

對不起。這是一個錯字。即使我改變它,它仍然顯示相同的錯誤。 – Deemeehaa

+0

看看這裏的一些如何做到這一點的例子:http://stackoverflow.com/q/11312239/567202 – Matt

+0

我確實有窗體上的用戶界面按鈕。這是一張照片。 [鏈接](http://postimg.org/image/tlovt61ap/) – Deemeehaa