는 WPF가없는 제목 표시 줄의 닫기 버튼을 숨길 수있는 속성에 내장,하지만 당신은 P/호출의 몇 줄의 그것을 할 수 있습니다. 당신이 가고있다
var hwnd = new WindowInteropHelper(this).Handle;
SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);
을 그리고 :
private const int GWL_STYLE = -16;
private const int WS_SYSMENU = 0x80000;
[DllImport("user32.dll", SetLastError = true)]
private static extern int GetWindowLong(IntPtr hWnd, int nIndex);
[DllImport("user32.dll")]
private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
그런 다음 윈도우의로드 이벤트에서이 코드를 넣어 :
먼저, 윈도우 클래스에이 선언을 추가 더 이상 닫기 버튼을 클릭합니다. 제목 표시 줄의 왼쪽에 창 아이콘이 없기 때문에 제목 표시 줄을 마우스 오른쪽 단추로 클릭해도 시스템 메뉴가 나타나지 않습니다. 모두 함께 표시됩니다.
Alt + F4는 여전히 창을 닫습니다. 백그라운드 스레드가 완료되기 전에 창이 닫히지 않게하려면 Gabe가 제안한대로 OnClosing을 무시하고 Cancel을 true로 설정할 수 있습니다.
감사하지만 제목 표시 줄에 대해 이야기하는 것이 아닙니다. 현대 UI 프레임 워크가 제공하는 대화 상자에 대해 이야기하고 있습니다. –
스냅 샷도 공유 할 수 있습니까? – Lakhtey