본 자료는
1. 화면 잔상을 개선하기 위한 준비 사항
2. 잔상 개선을 위한 SuspendLayoutInterval 속성값의 설정 비교
3. 화면 잔상 개선 전 후 비교 영상
4. SuspendLayoutInterval 속성값을 1로 할 경우 주의사항 및 해결 방법
5. ShowDialog, Panel, GroupBox 등을 사용한 다이얼로그 사용 시
순서로 진행합니다.
해당 내용은 SmartX Old Framework(3.2.4 이하의 버전)에서만 적용되는 내용으로 SmartX New Framework에는 적용되지 않는 내용이기 때문에 주의하시기 바랍니다.
-
SmartX New Framework에서 적용되지 않는 이유
SmartX New Framework(5.0.0.1 이상의 버전)에서는 SmartForm을 사용한 MDI 조합에서 폼 전환 시 내부적으로 폼 전환 잔상을 제거합니다.
MDI(Multiple Document Interface) 구조는 화면 전환 시 잔상 및 겹침(Overlap) 현상이 발생할 수 있습니다. 이 현상은 SmartX 컴포넌트뿐만 아니라 .Net Compact Framework에서 제공하는 사용자 인터페이스에서도 동일하게 발생되며 사용되는 컨트롤의 수와 배경 이미지에 따라서 쉽게 나타날 수 있는 현상입니다. 이 현상은 SmartX Framework의 SmartForm을 사용하여 MDI 구성 후 SuspendLayoutInterval 속성값을 1로 설정하면 잔상 및 겹침 현상을 개선할 수 있습니다.
- [STEP-1] 이전 폼
- [STEP-2] 폼의 화면 전환(잔상 발생)
- [STEP-3] 현재 폼
화면 전환 시 발생하는 잔상 및 겹침 현상 최소화 기능 추가에 관한 내용은 공지사항을 참조하시기 바랍니다.
※ 커뮤니티 > 공지사항 > 79. 화면(Form) 전환 시 잔상 및 겹침(Overlap)현상 최소화 기능 추가
1. 화면 잔상을 개선하기 위한 준비 및 처리 방법
화면 잔상을 개선하기 위해 아래 사항을 확인하시기 바랍니다.
1) 가장 먼저 SmartX Framework에서 지원하고 있는 컴포넌트들로 사용자 인터페이스를 구성해야 합니다.
2) SmartForm을 사용하셔야 합니다. 구성 조합은 SmartForm-SmartForm Or SmartForm-SmartInnerForm으로 지원 가능합니다.
3) 메인 폼의 SmartForm에서 SuspendLayoutInterval 속성값을 1로 설정하시면 됩니다.
4) MDI 폼의 형태는 제한이 없습니다.
2. 잔상 개선을 위한 SuspendLayoutInterval 속성값의 설정 비교
메인 폼에 위치한 SmartForm의 SuspendLayoutInterval 속성값을 1로 설정하면 화면 전환 시 발생하는 잔상을 개선할 수 있지만, 그에 따른 장단점이 있으니 아래 표를 확인하여 프로젝트에 적용하시기 바랍니다.
[표] SuspendLayoutInterval 속성값에 따른 장단점 및 사용 시점
화면 전환 속도가 상대적으로 빠름 |
||
2. 화면 전환 시 사용자 인터페이스 컨트롤의 Visible, Enabled 속성이 임의로 변경됨 |
||
시점 |
사용자 인터페이스 컴포넌트 위치가 다름 |
사용자 인터페이스 컴포넌트 위치가 동일 |
예시 |
||
3. 화면 잔상 개선 전 후 비교 영상 화면 전환 시 잔상 및 겹침 현상(Overlap) 동영상
4. SuspendLayoutInterval 속성값을 1로 할 경우 주의사항 및 해결 방법
MDI 프로그램에서 메인 폼에 위치한 SmartForm의 속성 중 SuspendLayoutInterval 속성값이 1일 경우 화면 전환 시 사용자 인터페이스 컴포넌트의 Enable과 Visible 속성값이 항상 True로 설정되는 문제가 발생합니다. 이를 해결하기 위해서 OnEventFormChanged 이벤트를 사용하면 위 문제를 해결하실 수 있습니다. 아래에서 예제 코드를 확인해보시기 바랍니다.
5. ShowDialog, Panel, GroupBox 등을 사용한 다이얼로그 사용 시
ShowDialog, Panel, GroupBox 등을 사용한 다이얼로그 사용 시 배경 컴포넌트의 갱신에 따른 잔상 현상이 발생합니다. 이러한 경우 SmartForm에서 지원되는 SuspendLayouInterval 속성으로 개선되지 않습니다. 문제를 해결하기 위해서는 별도의 처리를 해야 하며 관련 자료는 "Tech Note 30. 컨테이너 객체를 닫을 때 발생하는 잔상(겹침 효과) 제거 방법 안내"를 참고하시어 적용하시기 바랍니다.