2009-07-19 4 views
0

간단한 클립 보드 관리자 응용 프로그램을 만들고 있습니다. 그것은 클립 보드의 내용을 모니터링합니다. 변경 사항이 발생하면 (win API 메시지 루프를 통해) 클립 보드의 현재 내용을 캡처하는 메소드를 시작하고 clipboarditem이라는 새 객체를 만듭니다. 다음으로 이전에 생성 된 여러 클립 보드 항목을 포함하는 ContextMeuStrip을 작성합니다. 항목 메뉴는 바로 가기 키를 통해 액세스 할 수 있습니다. .Focus()를 사용하여 화면 itemsMenu.Show (caretPosition);의 특정 위치에이 메뉴를 표시합니다. 초점을 잃은 후에 사라지게 만들려고합니다 (예 : 화면에서 somehwere를 클릭하거나 alt-tab). OnLoseFocus 이벤트를 발견했지만 메뉴가 나타나지 않아 제대로 작동하지 않는다고 생각합니다.양식 외부에 ContextMenuStrip 표시/숨기기

포커스를 잃어버린 후 ContextMenuStrip을 사라지게 만드는 방법과 taskabr에 ContextMenuStrip을 표시하지 못하게하는 방법은 무엇입니까? 내 언어 능력 : ContextMenuStrip을 포함하고있는 이벤트에 아주 잠깐 살펴에서

답변

0

죄송

, 당신은 "MouseCaptureChanged"이벤트를 시도? 그것은 일 수 있습니다는 포커스 문제를 잃는 데 도움이됩니다.

작업 표시 줄 문제를 표시하려면 ContextMenuStrip이있는 양식 (양식에있는 경우)에 "ShowInTaskbar"를 false로 설정 했습니까?