VS 2008을 실행하고 Windows 7 상자에 내 응용 프로그램을 빌드하고 있습니다.KeyDown 키가 눌러지지 않을 때 VB.Net에서 이벤트 발생
Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
MsgBox("control = " + e.Control.ToString + ", shift = " + e.Shift.ToString + ", e.Keycode = " + e.KeyCode.ToString)
을 내가 잘 실행하는 것을 구축하고 VS 내에서 실행하는 경우 : 그 안에 다음과 같이 기본 폼/창은 KeyDown
이벤트 핸들러를 가지고있다. messagebox는 내가 누른 키의 키 코드와 함께 컨트롤 및 시프트 키의 상태와 함께 나타납니다. 그러나 실행 파일을 가져 와서 기본 폼이 열리 자마자 XP 상자 (.Net 런타임 3.5 사용)에서 실행하면 메시지 상자가 나타납니다. 기본적으로 "KeyDown"이벤트는 키를 누를 필요없이 시작됩니다. messagebox는 "control = False, shift = False, e.Keycode = None"
과 함께 다시 나타납니다.
어떻게 가능합니까? 어떤 키도 누르지 않았을 때 keyDown
이벤트가 발동 될 수 있습니까? (메시지 상자에 포함 된 출력에 의해 확인 됨)
무슨 일이 일어나고 있는지 또는 XP 상자에서 어떻게 진단 할 수 있는지에 대한 제안 사항 Visual Studio가 설치되어 있지 않습니까?
업데이트 "form1"만있는 새 프로젝트를 만들려고했는데 그 뒤에 유일한 코드는 keyDown 이벤트 처리기입니다. 그냥 빈 창이 열리고 키를 누르면 메시지 상자가 팝업됩니다. Windows 7 상자에서 예상대로 작동하지만 XP 실행 파일을 이동하면 즉시 키를 누르지 않고 메시지 상자를 열었습니다. 아주 이상한.
업데이트 ... "form1"만있는 새로운 프로젝트를 만들려고했는데 그 뒤에 유일한 코드는 keyDown 이벤트 처리기입니다. 그냥 빈 창이 열리고 키를 누르면 메시지 상자가 팝업됩니다. Windows 7 상자에서 예상대로 작동하지만 XP 실행 파일을 이동하면 즉시 키를 누르지 않고 메시지 상자를 열었습니다. 아주 이상한. – GregH
추가 설명에 주석을 추가하지 말고 원래 질문 –
시작 + 실행, Taskmgr.exe, 프로세스 탭을 업데이트하십시오. 문제가있는 사람을 찾을 때까지 하나씩 프로세스가 종료됩니다. –