연습을 위해 건물에 4 개의 엘리베이터와 40 개의 층이있는 VB 응용 프로그램을 작성합니다. 버튼을 누르면 엘리베이터가 도달 할 때까지 색상이 변경되기를 원합니다. 그 바닥.Visual Basic - 루프를 사용하여 버튼 색상을 변경하는 방법
현재 내가 수행 할 수있는 유일한 방법은 각 리프트에있는 대상 층 목록을 살펴보고 주어진 층이 포함되어 있는지 확인하는 하드 코딩을 다음과 같이 해당 색상을 변경하는 것입니다. 매우 간단한 작업을 수행하는 160 번 필수적 960 개 라인 - 이것이 내가 4 개 엘리베이터의 각각의 각 버튼 (총 40)을 위해 그것을 할 것입니다으로
' 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
문제입니다. 더 쉬운 방법일까요?
목록에있는 각 층을 검색하는 것이 더 쉬운 해결책이 될 수있는 엘리베이터 목록을 통과하는 루프를 생각하고있었습니다. 그러나 해당 버튼을 어떻게 색을 바꿀 수 있습니까?
시작이다. 컨트롤 ID를 하드 코딩하거나 컨트롤을 루프 할 수있는 배열로 하드 코딩하지 않고도 각 단추에 프로그래밍 방식으로 액세스 할 수 있습니다. 일단 그렇게하면 가능성이 열리게됩니다. – ps2goat
40 개의 엘리베이터 버튼은 공통된 절차를 공유하거나 버튼에서 Elevator, ElevatorUp 및 ElevatorDown과 같은 1 또는 2 절차를 호출 할 수 있습니다. 또는 모두 – Plutonix
문제를 3 층과 3 개의 엘리베이터로 줄입니다. 이를 해결하고 5 층과 4 대의 엘리베이터로 증가하십시오. 아직도 작동하는지 확인하십시오. 그렇지 않은 경우 조정하십시오. 패턴을 확인하고 40 층으로 대체하면 완료됩니다. – Neolisk