2009-03-10 6 views
1

VB.NET Winforms 앱을 실행할 때 다른 열린 응용 프로그램에서 포커스를 훔치지 않게하고 싶습니다. 참고로, 내 응용 프로그램은 명령 줄에서 시작했지만 차이가 없어야합니다. 질문이 577076 인 것을 보았지만 작동하지 않는 것 같습니다.폼이 포커스를 훔치는 것을 막을 수 있습니다.

가장 좋은 방법은 무엇입니까?

답변

4

내가이 작업을 얻기 위해 무슨 짓을 ...하지만 VB.Net로 번역 한 : 여기 당신을 위해 일해야 또 다른 버전입니다

Protected Overloads Overrides ReadOnly Property ShowWithoutActivation() As Boolean 
    Get 
     Return True 
    End Get 
End Property 

하지만 여전히 성공하지 :

나는 나의 Form1.vb를 파일에 다음 코드를 추가.

그런 다음 프로젝트 속성의 응용 프로그램 탭에서 응용 프로그램 프레임 워크 사용 확인란의 선택을 취소했습니다.

성공 !!!

+0

다음은 ShowWithoutActivation()에 대한 기사입니다. http://msdn.microsoft.com/en-us/library/system.windows.forms.showwithoutactivation.aspx – Achilles

0

링크 된 예제에서 일부 상수는 메서드의 범위 밖에서 선언됩니다.

:

protected CreateParams CreateParams { 
    get { 
    CreateParams baseParams = base.CreateParams; 
    const int WS_EX_NOACTIVATE = 0x08000000; 
    const int WS_EX_TOOLWINDOW = 0x00000080;  
    baseParams.ExStyle |= (int) (WS_EX_NOACTIVATE | WS_EX_TOOLWINDOW); 
    return baseParams; 
    } 
} 
... 

당신은거야 여기

+0

감사합니다. Julien, 내 원래 질문에 대한 답변을했지만 여전히 양식이 포커스를 훔치는 것을 막지 못했습니다. 나는 그것을 명확하게하기 위해 나의 질문을 편집했다. – JapNolt

관련 문제