實踐中,我正在編寫一個VB應用程序,該應用程序模擬電梯系統,並在大樓中有4個電梯和40個樓層 - 按下按鈕時,我希望它改變顏色,直到電梯到達那層。Visual Basic - 使用循環更改按鈕顏色
目前我唯一能想到的方法是通過硬編碼檢查每個電梯的目的樓層列表,並且如果它包含給定的樓層,則更改該按鈕的顏色,如下所示:
' button 1
If elevator1.goingUpList.Contains(1) Or elevator1.goingDownList.Contains(1) Then
lift1Button1.BackColor = Color.LightGoldenrodYellow
ElseIf (elevator1.goingUpList.Contains(1) = False) Or (elevator1.goingDownList.Contains(1) = False) Then
lift1Button1.BackColor = DefaultBackColor
End If
的問題是這是我必須做對4臺電梯的每個按鈕(40個) - 160倍必不可少960線做一個相當簡單的任務。這一定是一個更簡單的方法嗎?
我在想通過電梯列表的循環,檢索列表中的每個樓層可能是一個更簡單的解決方案 - 但是,如何獲得相應的按鈕來更改顏色?
開始通過動態地生成的接口。這將爲您提供對每個按鈕的編程訪問權限,而無需對控件ID進行硬編碼,也無需將控件硬編碼到可循環使用的數組。一旦你這樣做,你的可能性就打開了。 – ps2goat
40個電梯按鈕既可以共享一個通用程序,也可以從按鈕中調用1或2個程序,如電梯,ElevatorUp和ElevatorDown,或者同時撥打 – Plutonix
將問題降至3層和3部電梯。解決它,增加到5層和4部電梯。看看它是否仍然有效。如果沒有,請調整。注意模式,替換爲40層,你就完成了。 – Neolisk