Microsoft MVP성태의 닷넷 이야기
Winform Form Load 후 자동 캡쳐관련 [링크 복사], [링크+제목 복사],
조회: 12791
글쓴 사람
따봉이
홈페이지
첨부 파일
[ca.JPG]    

안녕하세요. 이렇게 저렇게 해봐도 잘 안되는 내용이 있어서 질문드립니다.


먼저 해야할 것은 Form이 로드 후 화면에 완전히 그려지면 스샷을 자동으로 찍어야 합니다.

Bitmap으로 스샷 찍어서 파일로 저장하는 함수는 만들어서 다 뜬 타이밍에 함수만 실행하면 되는데

이 타이밍(이벤트)를 알 수가 없다는 건데요

formLoad 이벤트, shown 이벤트, WnProc에서 WM_PAINT 등등 다해봤는데

폼이 실제 모니터상에 다 그려진 시점을 찾을 수가 없네요.

그래서 첨부드린 파일처럼 스샷이 찍힙니다.

form이 완전히 화면상에 다 그려진 시점을 알 수 있을까요?








[최초 등록일: ]
[최종 수정일: 4/1/2022]


비밀번호

댓글 작성자
 



2022-04-01 10시34분
아래의 글에서도 설명했지만,

WPF와 WinForm의 Shown 이벤트 시점
; https://www.sysnet.pe.kr/2/0/753

사실 윈도우가 보인 이후에 발생하는 것이 Form.Shown 메시지입니다. 위의 글에서 인용한 외부 글에서도,

Hello WPF World, part 3 - Forms and Windows
; http://stuff.seans.com/2008/07/16/hello-wpf-world-part-3-forms-and-windows/

이벤트 순서가 ..., Load, ..., Shown, Paint 순으로 불린다고 하니 거의 마지막에 있는 것이 맞습니다. 그런데, 첨부 파일의 캡처 이미지가 재현이 참 애매하군요. 가령, 다음과 같이 OnShown에서 무한 루프를 돌게 해도 Main Form 하나는 정상적으로 보이는 상태입니다.

protected override void OnShown(EventArgs e)
{
    while (true)
    {
        Console.WriteLine("");
    }
            
    base.OnShown(e);
}

----------------------

어찌되었든 현상이 그렇다고 하니... 사실 방법이 딱히 없을 것 같습니다. OnShown 이벤트가 발생한 시점에서 비동기로 약간의 delay 시간, 예를 들어 16ms 정도 이후에 화면을 캡처하도록 하는 식으로 구현해야 하지 않을까 싶습니다.
정성태

... 61  62  [63]  64  65  66  67  68  69  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
1053폭풍코딩4/19/201216589스마트클라이언트 ctrl-c 복사가 작동하지 않습니다. [1]
1052에슈리온4/17/201232998ClickOnce 배포시 클라이언트의 설치경로를 지정할 수 없나요? [1]
1051최정수4/10/201219878WCF 클라이언트 비정상 종료 관련 [1]
1050에슈리온4/6/201222039관리자 권한과 ClickOnce, 그리고 Bootstrapper문제 [6]
1049김성혁4/4/201216638스마트클라이언트 stand-alone 방식의 배포 문제.. [1]
1048C#조으다3/27/201220203어셈블리 로드 / 언로드와 관련해서.. [6]
1047김우형3/23/201217758WCF 서비스를 이용한 데이터 전송 중 Exception 문의 [1]
1044임동찬2/29/201217643웹에서 COM Exception.. [2]
1043박성준2/24/201216171Lazy<T> 의 지연객체 생성 전에 실 객체의 Attribute분석 [2]파일 다운로드1
1042이성환2/20/201216610BlockingMethod에 빠진 스레드를 즉시 죽이고 싶습니다...;ㅅ; [2]파일 다운로드1
1039김재영2/15/201215944어셈블리에 사용자마다 다른 값을 적용하여 자동 빌드 방법이 있을까요? [2]
1037윈드로니2/12/201217367WPF 관련 질문 드립니다. [2]
1035임동찬2/9/201215713XML, XSD, XMLCodeGenerator 관련 [2]
1033곽성현2/7/201216248훔..윈도우 디바이스 드라이버 관련 [1]
1030궁빈2/2/201218657msbuild를 이용한 웹게시 및 자동 Dist 방법론에 대해 질문 드립니다!! [6]
1028신정환1/30/201215917기존 legacy Windows application이 WoA 환경에서 동작되지 않는 이유가 무얼까요? [2]
1026노현철1/19/201217911WPF가 XP에서 느리게 로딩되는 현상에 대해 질문드립니다. [4]
1025궁그미1/18/201218885네이버 소켓 로그인 이해가 안되는점이 있는데요 [2]
1022선무당1/11/201216896TFS 에서 공통 Assembly 공유 방법에 대해서 해결책이 없을까요? [2]
1021김재영1/8/201215978대리자를 메소드 파라메터로 넘겨도 됩니까? [2]파일 다운로드1
1019남산골11/13/201918612안녕하세요!! 성태님~~ [3]
1018강한구12/29/201121912WPF ClickOnce 배포시 콤포넌트 dll 다운로드 문제에 대하여 질문 있습니다. [1]
1017임동찬12/28/201118814smart client와 xbop, silverlight [6]
1015개똥이12/22/201116235RMCLOCK 설정 관련 질문이요ㅜ [2]
1011사길수12/16/201116297hyper-v 이더넷 카드 관련 문의 좀 드립니다. [1]
1006루로니12/13/201118431윈도우7과 XP의 DLL후킹 처리에 관해서 질문입니다. [3]
... 61  62  [63]  64  65  66  67  68  69  70  71  72  73  74  75  ...