2013-05-03 4 views
0

'Cards_Label (80)'을 사용하는 레이블 배열이 있는데 여기를 클릭하면 사라지려고합니다.배열의 레이블이 사라지게하려면 어떻게해야합니까?

Private Sub Form1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseClick 
    For aa As Integer = 0 To 80 
     If MousePosition.X > Cards_Label(aa).Left And MousePosition.Y > Cards_Label(aa).Top Then 
      Cards_Label(aa).Visible = False 
     End If 
    Next 
End Sub 

이렇게하면 전체 줄을 사라지게 할 수 있습니다. 의견을 보내 주셔서 감사합니다.

+0

해당 위치의 모든 카드가 요구 사항과 일치하기 때문에 전체 행이 삭제됩니다 (X> 왼쪽 및 Y> 상단이 모든 카드에 해당됨). 첫 번째 카드를 보이지 않게 설정하거나 위치 확인 방법을 수정하면 루프를 종료해야합니다. –

+0

Off by one ....'aa as Integer = 0 to 79' – Steve

+0

그래서, 무엇이 문제입니까? 더 구체적으로 말하십시오. – Neolisk

답변

0

요구 사항 (요구 사항에서 명확하지 않음)에 따라 카드 좌표를 클릭하는지 확인해야합니다. 현재 논리를 사용하면 카드의 오른쪽 또는 아래 아무 곳이나 클릭하면 비활성화됩니다. 가장 오른쪽 하단 모서리를 클릭하면 모든 카드가 비활성화됩니다.

Private Sub Form1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseClick 
    For aa As Integer = 0 To 80 
     If MousePosition.X > Cards_Label(aa).Left And MousePosition.Y > Cards_Label(aa).Top And MousePosition.X < Cards_Label(aa).Width And MousePosition.Y < Cards_Label(aa).Height Then 
      Cards_Label(aa).Visible = False 
     End If 
    Next 
End Sub 
관련 문제