Microsoft MVP성태의 닷넷 이야기
마우스 이벤트 관련 질문 좀 드리겠습니다. [링크 복사], [링크+제목 복사]
조회: 3006
글쓴 사람
최재남
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

안녕하세요.

현재 프레임워크 4.7.2 C# 에서 WINFORM 으로 상품 매입 관리 프로그램을 개발하는 중인데.

어려운 점에 봉착하여 도움을 받고자 질문을 드립니다.

매입을 처리하는 FORM 위에 TEXT BOX, BUTTON 등 여러개의 컨트롤들이 올려져 있는 상태에서

일반적으로는 매입시 필요한 내용들을 작성 후 저장 버튼을 눌러 저장을 하는데

클라이언트의 요구는 마우스가 FORM 화면의 어디에 있든 상관없이

마우스 오른쪽 버튼을 누르면 저장이 되게 해달라고 합니다.

여기서 문제는 FORM 위의 수많은 컨트롤에 전부에 CLICK 이벤트를 거는 건 단순 무식한 방법인거 같아

이런 문제는 어떻게 해결을 해야 효과적으로 해결 할 수 있는지 조언을 구해봅니다.

질문 내용 읽어 주셔서 감사합니다.



[연관 글]






[최초 등록일: ]
[최종 수정일: 6/3/2021]


비밀번호

댓글 작성자
 



2021-06-03 07시32분
다른 분이 벌써 답변을 해주셨군요. ^^

마우스 이벤트 관련 질문 좀 드리겠습니다
; https://forum.dotnetdev.kr/t/topic/1061/2
정성태
2021-06-03 08시29분
[최재남] 네..저 답변 통해..이리저리 해보면서 해결 했습니다.

별거없는 코드지만 혹시나 저같은 분이 있으실까바..

코드 올려봅니다..

감사합니다.
protected override void WndProc(ref Message m)
{
    // Debug 통해 마우스 오른쪽 마우스 누를때 vs 출력창에 무슨 값이 나오는지 확인한 후 
    // 아래 if 문으로 해결 했습니다.
    // 소스 공유 합니다.

    //-- Debug.Print(m.Msg.ToString());

    if (m.Msg.ToString() == "123")
    {
     MessageBox.Show("마우스 왼쪽");
    }

    base.WndProc(ref m);
}
[손님]
2021-06-03 09시24분
@최재남 그런데 올려 주신 코드가 맞나요? 123(0x7B)는 윈도우 이벤트 중 WM_CONTEXTMENU에 해당해서 마우스 왼쪽 버튼 눌림과는 상관없습니다. 참고로 아래의 글은 제가 테스트한 코드입니다.

Windows Forms - 폼 내에서 발생하는 마우스 이벤트를 자식 컨트롤 영역에 상관없이 수신하는 방법
; https://www.sysnet.pe.kr/2/0/12660
정성태
2021-06-03 09시33분
[최재남] 네. 맞습니다.
여러번 테스트 해봤는데.
잘 작동합니다..

코드 올려주신 내용 저도 잘 보겠습니다.
감사합니다.
[손님]
2021-06-03 10시09분
아..말씀처럼 123 은 WM_CONTEXTMENU 에 해당하는군요.
안먹히는 컨트롤이 있습니다.
혼선이 올 수 있으니..
제 코드는 참고하지 마시기 바랍니다.
죄송합니다..
좀더 깊게 테스트를 해봤어야하는건데..(--)(__)
초심으로
2021-06-04 12시26분
잘 작동한다고 해서 깜짝 놀랐는데 ^^ 뭔가 환경상의 요인이 있었나 보군요, 어쨌든 문제를 인식하셨으니 다행입니다. (커피 감사합니다. ^^)
정성태

1  2  3  4  5  6  7  8  9  10  11  12  13  14  [15]  ...
NoWriterDateCnt.TitleFile(s)
5491조우성5/4/20215709WinForm과 WPF의 성능차이 비교한 자료가 있을까요? [4]
5490한예지5/3/20212521UI 스레드의 Invoke 질문있습니다. [4]
5489저누4/28/20212887시작하세요 C# 9.0, 225페이지 구조체 관련 질문드립니다. [2]
5488종범4/27/20213054C# 비동기 함수 async, await 와 Task의 관계에 대해 질문 드립니다. [6]
5487진우4/27/20213002C# 엑셀 자동화 성능 향상 문의 [2]
5486지나...4/26/20212855닷넷 구현 코드 관련 질문 [2]
5485이재원4/17/20212878교재 315페이지 내용 질문 [3]
5484Sy...4/16/20215351윈폼 기반의 응용프로그램 dll 참조와 32,64bit 빌드 관련 문의 [4]
5483한예지4/15/20212551익명 형식과 var 관계 질문 있습니다. [2]
5482질문4/13/20213894WPF를 위한 MVVM toolkit 선택과 관련한 문의드립니다. [4]
5480한예지4/5/20213375GetHashCode 질문있습니다! [2]
5479한예지4/4/20213165Equals를 닷넷에서 어떻게 구현했는지 보고 싶을 떄는 어떻게 해야 될까요? [2]
5478갑자...3/23/20215061C# Winform에서 TextBox없이 입력 받을 수 있나요? [7]
5477달팽이3/18/20212942c# 도형을 그린후 편집하는 방법이 궁금합니다. [2]파일 다운로드1
5475di...3/2/20213452POH가 .NET 5에 추가된 것으로 알고 있습니다. POH가 유용한 경우는 어떤 경우가 있을까요? [1]
5474Sy...2/26/20213023사용자 지정 컨트롤 생성시 Invalidate, Update, Refresh의 차이점 [2]
5473한예지2/25/20212941디자인 타임이 뭔지 궁금합니다!! [5]
5472di...2/24/20213310등록하지 않고 ocx를 사용하는 `키움`관련 포스팅을 따라가다 질문드립니다. [9]
5471남산2/21/20212954MarshalDirectiveException 에 대한 질문입니다. [1]
5470한예지2/7/20213000yield 질문있습니다!! [2]
5469유호성2/6/20212510Parallel + Task.Run 동시 실행 환경에서 간헐적으로 Task.Run()에서 null이 리턴됩니다. [3]파일 다운로드1
5467he...2/4/20212749실행 환경에 따른 Thread.Sleep 딜레이 차이 질문 [8]
5466pr1/29/20212717c# winform load시 작업표시줄에 뜨지 않는 현상을 겪으신적이 있으신가요? [4]파일 다운로드1
5465영귤1/28/20212705두 번째 await 부터는 스레드 개수만 늘어나는 것이 아닌가요 [1]
5464민우1/26/20212637C# 빌드시 코드 치환되는걸 확인하는 방법 문의 [2]
5463한예지1/24/20213456Parameters.AddWithValue 와 Parameters.Add 의 차이점이 궁금합니다. [2]
1  2  3  4  5  6  7  8  9  10  11  12  13  14  [15]  ...