2014-04-28 6 views
3

마우스로 특정 블록을 터치하여 점수를 얻는 게임을 만들고 있고 다른 플레이어는 게임을 잃어 버리는 게임을 만들고 있습니다. 내 친구가 왼쪽 또는 오른쪽 마우스 버튼을 누르고 있으면 컴퓨터가 두 마우스 이벤트를 감지하지 못하는 버그를 발견했습니다. 어떤 도움을 주시면 감사하겠습니다!왼쪽 또는 오른쪽 마우스 버튼을 계속 누르고 있으면 마우스 센터가 작동하지 않습니다.

+0

해당 조합은 끌어서 놓기 작업을 위해 예약되어 있으므로 – Plutonix

+0

클릭하여 이동하면 끌기로 간주됩니다. 이 대답은 아마도 당신이하려고하는 것에 도움이 될 것입니다. http://stackoverflow.com/questions/6042202/how-to-distinguish-mouse-click-and-drag – ruedamanuel

+0

@ruedamanuel WinForms DragOver와 DragEnter는 DoDragDrop의 결과로 호출되어 OP가 시작하지 않을 것입니다. – Plutonix

답변

0

WinForms를 사용하면 컨트롤에서 마우스 단추를 누른 상태에서 MouseDown 이벤트를 가져 오면 마우스 단추를 놓을 때까지 그 순간부터 마우스 입력을 "캡처"합니다. 마우스를 컨트롤에서 멀리 이동 한 경우에도 MouseUp 이벤트를 제공하는 데 사용됩니다.

당신은 그것을 무시해야하지만 부작용이있다 :

Private Sub Panel1_MouseDown(sender As Object, e As MouseEventArgs) _ 
               Handles Panel1.MouseDown 
    Panel1.Capture = False 
End Sub 

지금 마우스가 컨트롤 상에 직접하지 않는 한 MouseUp 이벤트가 발생한다는 보장이 없다가.

관련 문제