웹 브라우저 컨트롤에서 페이지를로드하고 있습니다. 어떻게 완료되었는지 언제 확인할 수 있습니까? DocumentCompleted에 대해 알고 있지만, 한 페이지는 5 번 이상 호출 할 수 있습니다. 어떻게 완료되었는지 언제 확인합니까?웹 브라우저 컨트롤이 사용 중이거나 사용 중인지 확인하는 방법은 무엇입니까?
0
A
답변
1
DocumentCompleted 처리기는 주 문서와 해당 문서의 각 프레임에 대해 호출됩니다. 통화 수는 열어 본 특정 웹 페이지에 따라 다릅니다.
shahkalpesh로 ReadyState 속성을 사용하면 합리적인 소리를 들려 주지만 작동하는 또 다른 방법을 알고 있습니다. 이벤트 핸들러를 추정하는이 서명이 있습니다
void OnDocumentComplete(object pDisp, ref object url)
을하고 주 문서에 대한 참조를 가지고, 당신은 전화가 주 문서에서 발생하는 경우
pDisp == mainDoc
를 확인할 수 있습니다. 내 경험으로는 pDisp을 IWebBrowser2로 캐스팅 한 다음 Document 속성을 IHTMLDocument2로 캐스팅 한 다음 본문 속성이 null이 아닌지 확인해야합니다. 그렇다면 문서가 완전히로드되었습니다.
2
ReadyState 속성이 도움이됩니까?
부울 속성 Busy가 있습니다. 그건 도움이 될 것 같아.
마치 내 문제를 해결 한 것처럼 보입니다. 내가 버그를 일관되게 재현 할 수 없기 때문에 내가 알기까지 며칠이 걸릴 수도 있습니다. –