2013-07-19 5 views
0

내 양식이 내 응용 프로그램에 TopMost로 표시됩니다. 내가 가진 문제는 응용 프로그램을 최소화하거나 포커스를 잃을 때마다 양식이 계속 표시된다는 것입니다. 내 응용 프로그램을 최소화하거나 다른 응용 프로그램으로 이동하고 양식을 숨기거나 닫을 수 있기를 원합니다. 응용 프로그램이 포커스를 다시 얻으면 폼을 숨김 해제하거나 다시 엽니 다. 여기응용 프로그램이 포커스를 잃을 때 양식 닫기

내가 폼의 closing 이벤트에 나가 일 것입니다 :

Private Sub frmNavigation_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing 
    Static Minimize As Boolean 

    If Minimize = True Then 
     e.Cancel = True 
     Me.Hide() 
    End If 
End Sub 

내가 응용 프로그램 WindowDeactivate 이벤트에 동일한 코드를 사용하여 시도했지만 아무 일도 일어나지 않습니다.

+0

을 그리고 그것은 참으로 설정되지 않습니다, 그래서 아무 반응이 없습니다 :

는 여기에서 찾을 수 있습니다. 아마도 여기에 제시하지 않은 코드가 더있을 것입니다. 그러나 나는 당신의 설명에 혼란스럽고 당신이 그것을 더 분명하게 할 수 있다고 생각합니다. –

+0

TopMost의 주요 아이디어는 포커스에 관계없이 모든 것을 최상위로 유지하는 것입니다. 그것은 당신이 정말로 원하는 것이거나 TopMost없이 시도 할 수 있습니까? – Alejandro

+0

혼란을 드려 죄송합니다. 목표를 달성하기 위해 노력한 것은 내 애플리케이션이 포커스를 잃은 다음 내 양식을 최소화하는 경우였습니다. 위의 코드는 실제로 작동하지 않으므로 무시해야합니다. –

답변

1

frmNavigation의 인스턴스를 만드는 방법을 표시하지 않습니다. 나는 당신이 Show Method를 사용하고 있다고 가정하고 있으므로 최상위 레벨 윈도우에서 전달하는 Show의 버전을 사용하십시오. 그러면 양식의 소유자가 지정되며 기본 양식 상단에 그대로 두어 최소화하고 복원 할 수 있습니다. 문제가 해결되지 않으면 양식을 작성하고 보여주는 방법을 보여주십시오.

frmNavigation.Show(Me) 
관련 문제