Microsoft MVP성태의 닷넷 이야기
마우스 이벤트 관련 질문 좀 드리겠습니다. [링크 복사], [링크+제목 복사],
조회: 6690
글쓴 사람
최재남
홈페이지
첨부 파일
 
(연관된 글이 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);
}
[guest]
2021-06-03 09시24분
@최재남 그런데 올려 주신 코드가 맞나요? 123(0x7B)는 윈도우 이벤트 중 WM_CONTEXTMENU에 해당해서 마우스 왼쪽 버튼 눌림과는 상관없습니다. 참고로 아래의 글은 제가 테스트한 코드입니다.

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

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

... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
5485이재원4/17/20216333교재 315페이지 내용 질문 [3]
5484Syong4/16/20219880윈폼 기반의 응용프로그램 dll 참조와 32,64bit 빌드 관련 문의 [4]
5483한예지 donator4/15/20215373익명 형식과 var 관계 질문 있습니다. [2]
5482질문4/13/20217169WPF를 위한 MVVM toolkit 선택과 관련한 문의드립니다. [4]
5480한예지 donator4/5/20217488GetHashCode 질문있습니다! [2]
5479한예지 donator4/4/20216561Equals를 닷넷에서 어떻게 구현했는지 보고 싶을 떄는 어떻게 해야 될까요? [2]
5478갑자기C#3/23/20219008C# Winform에서 TextBox없이 입력 받을 수 있나요? [7]
5477달팽이3/18/20215998c# 도형을 그린후 편집하는 방법이 궁금합니다. [2]파일 다운로드1
5475dimo...3/2/20217023POH가 .NET 5에 추가된 것으로 알고 있습니다. POH가 유용한 경우는 어떤 경우가 있을까요? [1]
5474Syong2/26/20216560사용자 지정 컨트롤 생성시 Invalidate, Update, Refresh의 차이점 [2]
5473한예지 donator2/25/20216430디자인 타임이 뭔지 궁금합니다!! [5]
5472dimo...2/24/20217213등록하지 않고 ocx를 사용하는 `키움`관련 포스팅을 따라가다 질문드립니다. [9]
5471남산2/21/20215852MarshalDirectiveException 에 대한 질문입니다. [1]
5470한예지 donator2/7/20215792yield 질문있습니다!! [2]
5469유호성2/6/20215341Parallel + Task.Run 동시 실행 환경에서 간헐적으로 Task.Run()에서 null이 리턴됩니다. [3]파일 다운로드1
5467hero...2/4/20215734실행 환경에 따른 Thread.Sleep 딜레이 차이 질문 [8]
5466pr1/29/20215605c# winform load시 작업표시줄에 뜨지 않는 현상을 겪으신적이 있으신가요? [4]파일 다운로드1
5465영귤1/28/20215977두 번째 await 부터는 스레드 개수만 늘어나는 것이 아닌가요 [1]
5464민우1/26/20216236C# 빌드시 코드 치환되는걸 확인하는 방법 문의 [2]
5463한예지 donator1/24/20216993Parameters.AddWithValue 와 Parameters.Add 의 차이점이 궁금합니다. [2]
5462C#초보1/22/20217381사용자 정의 메시지 전달이 가능한가요? [2]
5461한예지 donator1/22/20216780AsEnumerable() 메서드 질문 있습니다! [2]
5459한예지 donator1/21/20216112typeof와 GetType의 차이점 질문있습니다. [2]
5458진우1/20/20217015C# DataTable 에 SQL 쿼리문을 실행하는 방법 문의 (LINQ 사용하지 않고) [6]
5456성민1/17/202174199.0 출간 계획이 있으신가요? [2]
5455한예지 donator1/16/20216438교재 194페이지 콜백메서드 질문 있습니다! [5]
... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...