데이터가로드되는 동안 시간을 ​​죽이는 스플래시 화면을 표시하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1305666

문제

앱을 시작할 때 처음에는 일부 데이터를 읽어야합니다. 일부 양식 등을 시작해야합니다. 그 당시 사용자는 회색이 형태를 보여줄 준비가 된 것을 본다.

이것은 몇 초 동안 지속됩니다 ...

나는 별도의 스레드에 데이터를로드하는 스플래시 화면을 생각하고 그것이 얼마나 걸릴지 보여줍니다. 아니면 상태 표시 줄?

이런 식으로 어떻게 하시겠습니까?

C# .net 3.5 + winforms를 사용하고 있습니다

도움이 되었습니까?

해결책

WindowsForm을 사용하면 더 쉬운 것은 BackgroundWorker를 사용하는 것입니다.

로드하는 동안 컨트롤을 비활성화하고 "데이터로드 데이터 ..."라는 라벨이있는 startus bar의 진행률 표시 줄을 표시 할 수 있습니다.

MSDN 링크 : http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx

다른 팁

이 CodeProject 기사를 참조하십시오. C#의 꽤 좋은 스플릿 화면

스플래시 화면을 구현합니다.

  • 별도의 스레드에서 실행됩니다
  • 나타나는대로 사라지고 사라질 때 사라집니다.
  • 정적 메소드를 사용하여 업데이트되는 실행중인 상태 메시지를 표시합니다.
  • 예측 자체 보석 소유자가 잡는 부드러운 그레이드 gradient Progress Bar를 표시하고 업데이트합니다.
  • 부하가 완료되기 전에 남아있는 몇 초를 표시합니다.

다음은 그것이 어떻게 생겼는지에 대한 예입니다. 아마도 당신의 것이 더 예쁘을 것입니다. 8-)

alt text

몇 초만 지속되면 대기 커서를 표시하는 것은 괜찮을 것입니다. 아마도 메인 창이 가능한 한 빨리 표시되고 나머지는 첫 번째 화면 업데이트 (예 : 타이머 사용) 후에 시작될 수 있습니다. 이것은 감소합니다 인식 시작 시간.

시작 시간을 줄이려면 시작 시간이 크게 필요하지 않은 경우 일부 시작 작업을 연기하는 것을 고려할 수도 있습니다. 타이머 또는 주문형을 사용하여 백그라운드에서 나중에 수행 할 수 있습니다.

나는 최근 Tom Clements를 기본으로 사용하여 비슷한 스플래시 화면을 썼습니다. 보세요 내 스플래시 화면 그것이 당신의 요구에 맞는지 확인합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top