내 양식 신청서에 WndProc
을 사용하는 것에 관한 기본적인 질문이 있습니다. 양식 이벤트를 사용할 수있는 경우 WndProc
메서드를 어떻게 사용하는지 알고 싶습니다. 어떤 경우에 사용자 정의 메시지를 작성해야합니까? MSDN은 Windows 메시지 만 처리하는 데 사용됨을 알립니다.양식 이벤트가있을 때 WndProc을 사용해야하는 이유는 무엇입니까?
답변
WndProc은 WinForms가 Win32 Windows 메시지를 둘러싼 랩퍼를 사용하여 .NET 계층을보다 쉽게 이해하고 이해하는 방법입니다.
일반적으로 다음과 같은 방식으로 작동합니다. WM_LBUTTONDOWN 윈도우 메시지의 예제를 보자. Windows.Forms.Control.WndProc는이 메시지를 가로 채고 메시지의 WPARAM 및 LPARAM에서 관련 정보를 추출합니다. 그런 다음 보호 된 가상 메서드 인 OnMouseDown을 MouseEventArgs에 적절히 패키지 된 관련 정보와 함께 호출합니다. 구현은 자체 처리가 끝나면 MouseDown 이벤트를 발생시킵니다.
OnXXXX 메소드/XXXX 이벤트 세트를 다루는 것이 Windows 메시지를 직접 가로 채기가 훨씬 쉽습니다.
관심있는 Windows 메시지가 WinForms에 의해 처리되지 않으면 어떻게해야합니까? 이 경우 WndProc을 재정 의하여 직접 처리 할 수 있습니다. 또 다른 용도는 메시지 자체를 차단 한 다음 컨트롤 자체가 처리하기 전에 메시지를 버리는 것입니다. 또는 응용 프로그램 내의 컨트롤간에 보내기위한 사용자 지정 메시지를 만들 수 있습니다. 컨트롤이받는 모든 메시지를보고 싶을 때 디버깅에 유용합니다. 한 곳에서만 로깅을 추가하면됩니다.
.NET은 Win32와 관련된 래퍼입니다. Windows에서 모든 메서드, 이벤트 및 속성의 100 %를 노출하지 않습니다.
때때로 덮개 아래로 가야합니다.
그러나 문제가 필요한 경우 스택 교환 검색을 통해 알 수 있습니다.
- 1. MVVM을 사용해야하는 이유는 무엇입니까?
- 2. jsonp를 사용해야하는 이유는 무엇입니까?
- 3. 알림을 사용해야하는 이유는 무엇입니까?
- 4. Drools를 사용해야하는 이유는 무엇입니까?
- 5. WinDbg를 사용해야하는 이유는 무엇입니까?
- 6. DialogFragment를 사용해야하는 이유는 무엇입니까?
- 7. Unity를 사용해야하는 이유는 무엇입니까?
- 8. 기본 키를 사용해야하는 이유는 무엇입니까?
- 9. "PIMPL"관용구를 사용해야하는 이유는 무엇입니까?
- 10. MVVM 모델을 사용할 때 WPF에서 WndProc을 사용하는 방법은 무엇입니까?
- 11. io_service :: work를 사용해야하는 이유는 무엇입니까?
- 12. HTML에서 XFN을 사용해야하는 이유는 무엇입니까?
- 13. 안드로이드에서 fragment를 사용해야하는 이유는 무엇입니까?
- 14. l18n에 도메인을 사용해야하는 이유는 무엇입니까?
- 15. 포인터가 함수를 사용해야하는 이유는 무엇입니까?
- 16. .Net에서 Invoke를 사용해야하는 이유는 무엇입니까?
- 17. 글로벌 리소스를 사용해야하는 이유는 무엇입니까?
- 18. "apply"를 사용해야하는 이유는 무엇입니까?
- 19. 엔티티 관리자를 사용해야하는 이유는 무엇입니까?
- 20. JSP/서블릿을 사용해야하는 이유는 무엇입니까?
- 21. ANT에서 classname을 사용해야하는 이유는 무엇입니까?
- 22. Java 7을 사용해야하는 이유는 무엇입니까?
- 23. AppHarbor 애드온을 사용해야하는 이유는 무엇입니까?
- 24. HTML. 동일한 영역에 2x onclick 이벤트가있을 때
- 25. 여러 이벤트가있을 때 icalendar에서 Valarc이 작동하지 않습니다
- 26. mysql 스토리지 엔진을 작성할 때 필드 유형을 사용해야하는 이유는 무엇입니까?
- 27. ASP.NET MVC에서 JsonResult를 사용할 때 WCF REST를 사용해야하는 이유는 무엇입니까?
- 28. 기존 파일을 스트리밍 할 때 RTP를 사용해야하는 이유는 무엇입니까?
- 29. MySQL 스키마를 설정할 때 특정 유형을 사용해야하는 이유는 무엇입니까?
- 30. 필드를 contenttype에 추가 할 때 fieldLinks를 사용해야하는 이유는 무엇입니까?