아래 코드를 사용하여 화면 상단에 모든 양식 위에 팝업 폼을 표시하지만 초점을 훔치지는 않습니다.응용 프로그램 openforms에 양식이 닫히지 않습니다.
이 잘 작동하지만 지금은, 형태 자체는 내가이 일을 가야합니까 어떻게 Application.OpenForms
에 표시 나던 폼을 닫해야합니까?
설치 및 형태를 형태
private const int SW_SHOWNOACTIVATE = 4;
private const int HWND_TOPMOST = -1;
private const uint SWP_NOACTIVATE = 0x0010;
[DllImport("user32.dll", EntryPoint = "SetWindowPos")]
static extern bool SetWindowPos(
int hWnd, // Window handle
int hWndInsertAfter, // Placement-order handle
int X, // Horizontal position
int Y, // Vertical position
int cx, // Width
int cy, // Height
uint uFlags); // Window positioning flags
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
public void ShowInactiveTopmost()
{
ShowWindow(Handle, SW_SHOWNOACTIVATE);
SetWindowPos(Handle.ToInt32(), HWND_TOPMOST, Left, Top, Width, Height, SWP_NOACTIVATE);
}
감사합니다, 테스트 양식이 효과가있는 것처럼 보입니다. 전화 시스템 구현으로 토스트 양식을 테스트하여 이벤트 발생시 양식이 닫히는 지 확인한 다음 정답으로 표시해야합니다. – Neo