2010-07-07 4 views
1

폼에 배치 된 그림 상자와 같은 컨트롤이 포함 된 WinForms 응용 프로그램이 있습니다. 기본 신청서는 영어로되어 있습니다.WinForms 컨트롤 위치 (간체)

Google은이 애플리케이션을 여러 언어 (프랑스어, 스페인어, 덴마크어, 그리스어 등)로 번역했으며 최근에는 중국어 간체로 번역했습니다. 번역 된 응용 프로그램은 우리의 운영 체제 (영어)에서 완벽하게 작동합니다.

우리 고객의 운영 시스템에 Windows XP가 중국어 간체로 설치되었습니다. 응용 프로그램의 레이아웃이 잘못되었습니다. 간단히 말해 요소는 요소와 왼쪽 상단 사이의 거리에 비례하는 요소만큼 오른쪽 아래로 푸시됩니다. 예를 들어 디자인보기의 오른쪽 상단 모서리에있는 요소는 화면에서 오른쪽으로 밀린 반면 페이지 아래쪽에있는 항목은 오른쪽 아래로 밀려납니다.

응용 프로그램은 사용 중에 전환 언어를 지원합니다. 로캘이 en-US이면 레이아웃 문제가 없습니다. 중국어 간체로 전환하면 문제가 나타나지만 중국어 간체 운영 체제에서만 나타납니다. 화면 해상도와 DPI는 동일합니다.

의견이 있으십니까? 내가 어딘가 간단한 구성 설정해야합니다 확신하지만이 문제를 해결할 수 없습니다.

답변

1

시스템 기본 글꼴의 크기도 중요합니다. 실제로 XP에서 변경할 수있는 것입니다. 이렇게하면 폼의 자동 크기 조정 논리가 호출되어 컨트롤이 더 큰 글꼴 크기에 맞게 커질 수 있습니다.

이것은 의도적으로 양식의 AutoScaleMode 속성에 의해 제어됩니다. 변경하지 마십시오. 재조정이 중요합니다. 폼 레이아웃이 여전히 양호하게 보이도록하려면 Anchor 및 Dock과 같은 속성, TableLayoutPanel, FlowLayoutPanel과 같은 컨트롤을 사용하십시오. 또는 까다로운 이벤트에 대한 Resize 이벤트. 나는 완전히 창 경우에도 자동 크기 조정 만들기 위해 요소의 레이아웃을 디자인하는 것보다 다른 선택의 여지가

protected override void OnLoad(EventArgs e) { 
     this.Font = new Font(this.Font.FontFamily, this.Font.SizeInPoints * 125/96); 
    } 
+0

: 양식에

붙여 넣기이 시스템 설정을 변경하지 않고도이 논리를 테스트 고정 창 크기가 있습니까? 기본 글꼴 그룹이 비표준 일 때만 실행해야하는 코드가 있다고 가정합니다. 글꼴이 그림 상자에 영향을 줍니까? 나는이 부분이 텍스트 영역이지만 그래픽 요소는 기대하지 않았을 것이다. –

+0

제대로 이해하면 AutoScaleMode를 사용하지 않으면 간단한 해결 방법이 될 수 있지만 모든 곳에서 똑같이 보일 수 있지만 시력이 낮은 소프트웨어 사용자는 기능을 사용할 수 없게됩니까? (접근성 문제?) –

+0

사용하지 않도록 설정하는 것은 옵션이 아닙니다. 컨트롤이 충분히 크지 않기 때문에 컨트롤 안에있는 텍스트가 잘립니다. 중국어 문자를 읽을 수 없게하기. –

관련 문제