2011-02-15 4 views
0

C# 응용 프로그램에서 창을 최상으로 만들고 싶습니다. 윈도우가로드되는 동안 (응용 프로그램이 제 3 자 소프트웨어에 의해 호출되는 동안) 최상위에있게되고 필요한 경우 다른 윈도우를 탐색 할 수 있도록해야합니다. 한 번 창을 최상위로 만드는 방법

나는
this.Topmost = true; 
this.TopMost=false; 

를 사용하지만, 어떤 효과를 가지고 있겠지.

+0

앱을 두 번 실행하면 어떻게됩니까? 나는 gladitator 갑옷에있는 창문을 죽음에 맞춰 그림으로 그렸습니다. – asawyer

+1

@asawyer : 또는 그가 시작시 명령을 실행하기를 원하기 때문에 가장 최근에로드 된 것이 맨 위로 올 것입니다 ... – Ocelot20

+0

답을 얻었습니까? – Student

답변

0

UPDATE
READ THIS http://social.msdn.microsoft.com/forums/en-US/winforms/thread/bf3117f8-d83d-4b00-8e4f-7398b559a2dd/

형태가 서로 다른 응용 프로그램에있는 경우, 당신이를 FindWindow API를 호출하여 당신이 앞으로 가져 오기하려는 창을 얻을 수 있고, SetForegroundWindow API가 앞으로 가져옵니다, 자세한 내용은, 당신은

를 FindWindow http://msdn.microsoft.com/en-us/library/ms633499(VS.85).aspx

SetForegroun이 좋아하는 읽을 수 있습니다 dWindow http://msdn.microsoft.com/en-us/library/ms633539(VS.85).aspx

0

네이티브 API를 사용하도록 제안 할 수 있습니다. SetWindowPos function from user32.dll

이와 비슷한 내용이지만 C# 코드로 변환해야합니다. 어렵지 않을 것 같습니다. HWND_TOPMOST 플래그는

RECT rect; 
// get the current window size and position 
GetWindowRect(hWnd, &rect); 
// now change the size, position, and Z order 
// of the window. 
SetWindowPos(hWnd ,  // handle to window 
HWND_TOPMOST, // placement-order handle 
rect.left,  // horizontal position 
rect.top,  // vertical position 
rect.right, // width 
rect.bottom, // height 
SWP_SHOWWINDOW);// window-positioning options 
1

TopMost 만 응용 프로그램 내에서 형태에 적용이 필요 단지 것입니다. 컴퓨터에서 실행중인 다른 응용 프로그램의 상단에 양식을 가지고 싶다면, 당신이 질문을 살펴 보시기 바랍니다 :

Bringing window to the front in c# using win 32 api

0
this.Activate() 

트릭을 할해야합니다.

관련 문제