我正在設計一個座位預約系統,使用多個按鈕來表示座位。每個座位的詳細信息都以單行形式存儲在文本文件中,以便每個座位都對應於文本文件中的特定行。在文本文件的每一行中都包含「True」或「False」字樣,以確定「座位」/按鈕的可用性。如何使用文本文件更改加載按鈕的顏色。 [Visual Basic 2010]
我想知道是否有方法讓程序在窗體加載後立即掃描文本文件。然後,當它找到一個包含'True'的行時,它會將相應的按鈕變成紅色並將其啓用狀態更改爲false。
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
lines = IO.File.ReadAllLines("seats.txt")
For Each b As Button In Me.Controls.OfType(Of Button)()
If b.FlatStyle = FlatStyle.Flat Then
Select Case b.BackColor
Case Color.Gold
SeatInfo.lblclass.Text = "Gold"
AddHandler b.Click, AddressOf goldbuttons_click
Case Color.Silver
SeatInfo.lblclass.Text = "Silver"
AddHandler b.Click, AddressOf silverbuttons_click
Case Color.DarkOrange
SeatInfo.lblclass.Text = "Bronze"
AddHandler b.Click, AddressOf bronzebuttons_click
End Select
End If
Next
End Sub
到目前爲止,我只能夠讓這個顏色的變化,當我點擊一個按鈕(該程序只檢查後的文本文件,我點擊一個按鈕,程序啓動時不)
下面的代碼與goldbuttons_click,silverbuttons_click和bronzebuttons_click類似。
Private Sub goldbuttons_click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim btn As Button = DirectCast(sender, Button)
If lines(Array.IndexOf(Me.Controls.OfType(Of Button).Reverse.ToArray, sender)).Contains("True") Then
btn.BackColor = Color.Red
btn.Enabled = False
Else
Call Seatscreen()
SeatInfo.lblclass.Text = Name
End If
End Sub