C# 양식의 RightToleft 속성
-
03-07-2019 - |
문제
양식 제목, 아이콘 및 닫기를 옮기고 왼쪽에서 오른쪽으로 도움이됩니다 (레이아웃 변경).
배경 이미지를 유지하기 위해 양식 컨트롤을 수동으로 옮겼지만 이제는 양식 제목을 변경하고 싶습니다.
RightToleft 속성을 Yes 및 RightToleftLayout로 설정하면 형태 속성에서 True로 설정하면 배경 이미지가 사라지지만 속성을 "백콜러"로 사용합니다.
내 코드는 다음과 같습니다.
if (_lang == 'Arabic')
{
this.RightToLeft = RightToLeft.Yes;
this.RightToLeftLayout = true;
}
그러나 버튼 이미지를 유지합니다.
그래서 왜 그게?
해결책
Blounty의 답변을 더하기 위해 MSDN 사양은 RightToleftLayout을 사용할 때 배경 지식, 불투명도 및 기타가 지원되지 않는다고 분명히 말합니다.
http://msdn.microsoft.com/en-us/library/system.windows.forms.form.righttoleftlayout(vs.80).aspx:
RightToleftLayout이 YES로 설정된 경우 소유자 추첨이 지원되지 않습니다. 소유자 추첨 이벤트는 여전히 발생하지만 이러한 이벤트에서 작성한 코드의 동작은 정의되지 않습니다. 또한 배경 지식, 불투명도, 투명성 키 및 페인팅 이벤트는 지원되지 않습니다.
다른 팁
배경 지식, 불투명도, 투명성 키 및 페인팅 이벤트는 RightToleftLayout이 YES로 설정된 경우 지원되지 않습니다.
손실 된 기능을 대체하는 것은 매우 쉽습니다.
protected override void OnPaintBackground(PaintEventArgs e) {
Rectangle rc = new Rectangle(Point.Empty, this.ClientSize);
e.Graphics.DrawImage(Properties.Resources.SampleImage, rc);
}
이미지를 타일 해야하는 경우 좀 더 많은 작업을 수행해야합니다.
제휴하지 않습니다 StackOverflow