본 자료는
1. 문제 설명
2. 해결 방법
3. 예제 코드
순서로 진행합니다.
프로그램 동작 중에 SmartForm 또는 SmartInnerForm의 배경 이미지를 동적으로 변경할 경우 BackGround 속성값을 적용시킨 화면상의 모든 컴포넌트의 배경 이미지가 변경될 때 그림과 같은 잔상이 발생합니다. 이 현상은 정상적인 현상이지만 프로그램적으로 개선할 수 있습니다.
STEP-1 | smartForm 이미지 변경 |
STEP-2 | 화면상의 모든 UI 컴포넌트의 BackGround 속성 재설정 |
2. 해결 방법
아래의 STEP에 따라 프로젝트에 적용하면 잔상 문제를 해결하실 수 있습니다.
- [STEP-1] BackGround가 적용된 화면상의 모든 UI컴포넌트에서 Hide() 메서드 호출
SmartForm(SmartInnerForm)의 배경 이미지를 변경하기 전 BackGround가 적용된 화면상의 모든 UI컴포넌트에서 Hide() 메서드를 호출합니다.
- [STEP-2] SmartForm(SmartInnerForm)의 배경 이미지를 변경
SmartForm의 배경 이미지를 동적으로 변경합니다.
- [STEP-3] BackGround가 적용된 화면상의 모든 UI 컴포넌트에서 ReDraw() 메서드 호출
[STEP-1]에서 숨긴 컴포넌트들을 ReDraw() 메서드를 호출하여 UI상태를 갱신합니다.
- [STEP-4] SmartForm(SmartInnerForm)에서 Refresh() 메서드 호출
SmartForm(SmartInnerForm)의 UI를 갱신하기 위해 Refresh() 메서드를 호출합니다.
- [STEP-5] BackGround가 적용된 화면상의 모든 UI 컴포넌트에서 Show() 메서드 호출
[STEP-1]에서 숨긴 컴포넌트들을 다시 출력합니다.