2010-01-22 1 views
1

런타임시 클라이언트 영역의 크기를 설정해야하는 System.Windows.Forms.Form이 있습니다. 이상하게도 비록 ClientSize property을 800x600으로 설정하더라도 영역은 오른쪽과 아래쪽에 4 픽셀만큼 작아서 내 콘텐츠가 양방향으로 4 픽셀 씩 잘립니다.Form의 클라이언트 영역이 Form.ClientSize에 렌더링 크기가 설정되지 않았습니다.

이 문제는 Windows XP 및 Windows Classic 테마에서 모두 나타납니다.

MSDN 설명서에 대한 이해에서 이것은 내가 원하는 것을 수행해야합니다. -하지만 그렇지 않습니다.

폼의 클라이언트 영역의 크기는 경계 및 제목 표시 줄을 제외한 폼의 크기입니다. 여기

샘플 코드 : 무엇 제공

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
     this.ClientSize = new Size(800, 600); 
    } 
} 

? 나는 다른 사람에게 일어나고 있다고 the comments of an answer to another question에서 알았다. 클라이언트 영역의 크기를 안정적으로 설정할 수있는 방법이 있습니까?

+1

방금 ​​VS2008, Win7에서이 코드를 시도했는데 스크린 샷에서 측정 한 추가 픽셀없이 올바르게 수행합니다. 아마도 당신이 사용하는 특정 테마는 보이지 않는 부분을 테두리로 간주합니까? –

+1

양식에 최대 높이와 ​​최대 너비가 설정되어 있습니까? 그렇지 않으면 크기 설정이 꽤 예측 가능하게 작동합니다. –

+0

제안 해 주셔서 감사합니다. 나는 최대/최소 크기뿐만 아니라 Windows XP 및 Windows Classic 테마를 모두 설정해 보았습니다. 나는 여전히 오른쪽과 아래쪽으로 너무 작은 4 픽셀의 형태를보고 있습니다. :( –

답변

1

내 문제가 양식에 전혀 없었습니다. 양식에 System.Windows.Forms.WebBrowser 컨트롤이 있으며 테두리가 있습니다. WebBrowser 컨트롤에는 테두리 속성이 없으므로 의심하지 않았습니다.

관련 문제