난 내 응용 프로그램을 번역하는 간단한 방법을 만들고있어. Graphics 클래스를 재정 의하여 텍스트 드로잉 수준에서 Dictionary를 사용하여 양식을 변환 할 수 있다고 생각했습니다. RightToLeft 언어를 지원하는 것과 같은 방법으로 도면 점을 편집 할 수도 있습니다. 누군가 좋은 아이디어가 있습니까?텍스트 도면 수준에서 양식 언어를 번역 할 수 있습니까?
0
A
답변
0
그래픽 클래스를 재정 의하여 텍스트 드로잉 수준에서 사전을 사용하여 양식을 변환 할 수 있다고 생각했습니다.
Graphics
클래스를 재정의 할 수 없습니다. 컨트롤의 OnPaint
메서드를 재정의 할 수 있습니다. 그러나 텍스트 드로잉과 다른 드로잉을 어떻게 분리 할 것입니까? 누군가가 Text
속성을 읽으면 어떻게 될 것으로 예상합니까?
누군가가 좋은 생각이 있습니까?
예, 현지화를위한 기본 제공 솔루션을 사용하십시오. 양식의 Localizable
속성을 true
으로 설정하면됩니다. 이제는 디자인 타임에 언어를 전환하고 텍스트뿐만 아니라 RightToLeft 속성, 크기 및 기본적으로 모든 디자인 타임에 해당 언어의 모든 것을 편집 할 수 있습니다.
응용 프로그램을 시작하면 양식에서 Windows 언어가 사용되거나 불변 언어로 되돌아갑니다. 프로그래밍 방식으로 언어를 변경하려면 Thread.CurrentThread.CurrentUICulture
속성을 설정하십시오. 양식을 다시 열어 언어를 적용하거나 InitializeComponent()
에 명시 적으로 전화 할 수도 있습니다.
이것은 흥미로운 방법으로, 나는 그것을 조사 할 것이다. 그리고 귀하의 질문에 대한, 내가 말한 의미는 텍스트 속성이 원래 그대로 남아 있도록 출력물을 디스플레이로 변환하는 것입니다. – user6466445
이것은 매우 오도하기 쉽고 모든 대회가 결여되어 있습니다. Btw'Text' 속성이 컨트롤의 텍스트를 반환하면 왜 문제가됩니까? 고정 된 것이 필요하다면'Name' 속성이 있으며 또한 사용자 정의 목적을 위해'Tag'를 사용할 수 있습니다. – taffer
Text 속성을 변환 할 경우 원본을 반환 할 수없고 일부 상황 (예 : 옵션 목록이 포함 된 ComboBox)에서 문제가 발생할 수 있습니다. 그리기 시간에 변환이 완료되면 Text 속성이 원본으로 유지되고 다시 그려서 언제든지 쉽게 언어를 변경할 수 있습니다. – user6466445