2017-03-23 9 views
3

저는 Windows Forms 응용 프로그램에서 작업 중이며 최근에 사용자가 출력 위치에 대한 폴더를 선택할 수있는 간단한 설정 페이지를 추가했습니다. OpenFileDialog는보기 흉하고 사용하기가 좋지 않으므로 Windows API CodePack에 CommonOpenFileDialog에 대한 액세스 권한을 추가했습니다.CommonOpenFileDialog로 인해 Windows Form이 축소됩니다.

CommonOpenFileDialog를 열면 첨부 된 이미지와 같이 Windows 양식 응용 프로그램이 더 작은 크기로 축소됩니다.

On the left is the program normally, on the right is with the dialog open.

내가, 전후 폼의 크기를 확인 해봤 그 변경 아니에요 나는 그렇게 : 올바른 대화 열려 함께의 왼쪽에

는 일반적으로 프로그램입니다 벽돌 벽 좀 치고있어. 어떤 정보라도 유용 할 것이고, 나는 필요하다면 더 자세한 정보를 제공 할 수있다. 양식을 엽니 다

코드는 다음과 같습니다

CommonOpenFileDialog dialog = new CommonOpenFileDialog(); 
dialog.DefaultDirectory = selectedFolderTextBox.Text; 
dialog.IsFolderPicker = true; 

if (dialog.ShowDialog() != CommonFileDialogResult.Ok) return; 

selectedFolderTextBox.Text = dialog.FileName; 
+0

대화 상자를 여는 데 사용하는 코드를 추가하는 것이 좋습니다. 또한 꽤 재미있는 버그입니다. –

+0

캔트가 일어난다는 것을 알지 못한다. 새로운 앱을 만들고 같은 commonopenfiledialog를 여는 경우에도 같은 일이 발생합니까? – BugFinder

+0

@BugFinder 나는 그것을 시도해 보지 않았다. 제안에 감사한다. 불행히도 방금 빈 프로젝트를 만들었고 동일한 동작을 보이고 있습니다. – zmh

답변

2

하는 app.manifest 파일을 추가하여 dpi로 인식 가능하고,이 블록의 주석.

<application xmlns="urn:schemas-microsoft-com:asm.v3"> 
    <windowsSettings> 
    <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware> 
    </windowsSettings> 
</application> 

이 기능은 저의 Surface Pro 4 (dpi 스케일 200 %)에서 유용합니다.