2009-07-14 5 views
2

사용자가 버튼 동작을 변경할 수있는 앱을 작성 중입니다.Windows Forms 버튼으로 마우스 오른쪽 버튼을 클릭하십시오.

사용자는 버튼을 마우스 오른쪽 버튼으로 클릭하고 팝업 컨텍스트 메뉴에서 옵션을 선택해야합니다. 선택이 완료되면 사용자가 정상 클릭을 사용할 때 버튼이 다른 동작을 수행합니다.

"MouseClick"이벤트 처리기가 정상적으로 작동하지 않아도 정상적인 버튼 클릭에 대해 "클릭"이벤트가 이미 발생했습니다.

"MouseClick"이벤트는 정기적 인 왼쪽 클릭에서 활성화되지만 마우스 오른쪽 버튼으로 클릭 할 필요가 없습니다.

마우스 오른쪽 버튼을 무시하는 일부 기본 이벤트 처리가 수행되고 있습니까?

답변

2

선택할 작업이 포함 된 상황에 맞는 메뉴를 표시하려면 을 ContextMenuStrip 속성에 할당하기에 충분해야합니다. 일반적으로 수동으로 마우스 이벤트를 처리 할 필요는 없습니다.

+0

다른 게시물은 약간의 용도가 있습니다 : http://stackoverflow.com/questions/1044883/custom-user-control-in-c-right-click-menu-to-copy-text-java -developer-learnin – northpole

+1

감사합니다. 이 방법을 사용하겠습니다. 사이드 노트로서, 나는 단지 "MouseUp"이벤트가 내가보고 있어야만했던 이벤트라는 것을 발견했다. –

+0

@ birdlips : 메모리는 짧지 만 다른 한편으로는 거의 20 일 전이었습니다 : o) –

4

심각한 UI 추악한 행동을하는 것이 유감입니다. 아마도 버튼 옆에 작은 콤보 박스를 추가하는 것이 더 합리적 일 것입니다.

아마도 이와 비슷한가요?
http://www.codeproject.com/KB/buttons/SplitButton.aspx

+0

매우 비표준적이고 혼란 스럽습니다. 불쌍한 디자인의 IMO. –

+0

@Ed - 글쎄, 내 생각은 사실 Zyphrax의 링크에 게시 된 솔루션과 매우 흡사하기 때문에 비표준적이고 혼란 스럽다고 생각하지 않는다. 그러나 링크 된 솔루션은 내 것보다 조금 더 분명하고 우아합니다. 따라서 앞으로의 응용 프로그램에서 의미가 있다면 그 방향으로 나아갈 것입니다. –

2

단추 및 기타 특정 컨트롤에서 MouseClick 이벤트는 왼쪽 단추에 대해서만 발생합니다. MSDN을 참조하십시오.

오른쪽 버튼에 대해 알고 싶다면 MouseUp 이벤트에 응답하십시오. 다른 포스터가 지적했듯이 훌륭한 UI 관용어는 아닙니다.

3

반드시 MouseUp 이벤트 대신 MouseDown 이벤트에서 구현하는 것이 좋습니다. 나는이

가 편집 MouseClick과 이벤트에서 많은 다른 방법을 이해 해달라고 : 그냥이 시도하고 치료 :

0

를 사용하여 마우스 UP 이벤트를 작동 ... Button.X 및 Button.Y는 내에 테스트하는 것이 그렇지 않으면 단추에서 마우스를 멀리 이동 시켰습니다. 테리 G

관련 문제