티스토리 뷰

이것은 비슷한 것을 사용해야하고 VB에있는 Winforms 응용 프로그램에서 왔지만 telerik 변환기를 사용하면 C #으로 쉽게 변환 할 수 있습니다. 코드를 공유해 주시면 답변을 수정 해 드릴 수 있습니다.

Private Property pageready As Boolean = False

Private Sub WaitForPageLoad()
    AddHandler WebBrowser1.DocumentCompleted, New WebBrowserDocumentCompletedEventHandler(AddressOf PageWaiter)
        While Not pageready
                Application.DoEvents()
                        Dim blocker = WebBrowser1.Document.Window.Frames(0).Frames(3).Frames(4).Document.GetElementsByTagName("head")
                            End While
                                pageready = False
                                
                                End Sub
                                
                                Private Sub PageWaiter(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs)
                                    If WebBrowser1.ReadyState = WebBrowserReadyState.Complete Then
                                            pageready = True
                                                    RemoveHandler WebBrowser1.DocumentCompleted, New WebBrowserDocumentCompletedEventHandler(AddressOf PageWaiter)
                                                        End If
                                                        End Sub
                                                        

이 예에서 볼 수 있듯이 여러 프레임으로 작업하고 있지만 필요한 작업을 수행하기 전에 페이지가 준비 될 때까지 기다립니다.

이것은 C # 변환입니다.

bool pageready = False;

private void WaitForPageLoad()
{
WebBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(PageWaiter);
while (!pageready) {
    Application.DoEvents();
        dynamic blocker = WebBrowser1.Document.Window.Frames(0).Frames(3).Frames(4).Document.GetElementsByTagName("head");
        }
        pageready = false;
        
        }
        
        private void PageWaiter(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
        if (WebBrowser1.ReadyState == WebBrowserReadyState.Complete) {
            pageready = true;
                WebBrowser1.DocumentCompleted -= new WebBrowserDocumentCompletedEventHandler(PageWaiter);
                }
                }
                


출처
https://stackoverflow.com/questions/39916985
댓글
공지사항
Total
Today
Yesterday
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31