2017-01-05 2 views
2

회사의 일부 이용 약관에 동의하는 Windows Form을 만들고 있습니다. 따라서 이용 약관은 웹에 있으며 WebBrowser 컨트롤을 통해 WinForm으로 이동합니다. 전체 문서를 맨 아래로 스크롤 한 후에 만 ​​수락 버튼을 활성화해야합니다. VScrollBar 컨트롤 (아래 참조) 또는 다른 옵션에서 ValueChanged 이벤트와 비슷한 이벤트를 검색하고 있습니다.WebBrowser 컨트롤의 아래쪽으로 스크롤을 감지합니다.

private void vScrollBar1_ValueChanged(object sender, EventArgs e) 
    { 
     if (vScrollBar1.Value+9 == vScrollBar1.Maximum) 
     { 
      acceptBtn.Enabled = true; 
     } 
    } 

답변

2

의 윈도우의 스크롤 이벤트에 가입해야합니다. 방법 :

private void webBrowser1_DocumentCompleted(object sender, 
    WebBrowserDocumentCompletedEventArgs e) 
{ 
    this.webBrowser1.Document.Window.AttachEventHandler("onscroll", OnScroll); 
} 

void OnScroll(object sender, EventArgs e) 
{ 
    var script = 
    @"(function() 
     { 
      var e = document.documentElement; 
      if (e.scrollHeight - e.scrollTop === e.clientHeight) 
       return true; 
      else 
       return false; 
     })();"; 
    var result = webBrowser1.Document.InvokeScript("eval", new object[] { script }); 
    if ((bool)result) 
     MessageBox.Show("Scrolled to end!"); 
} 
+0

이렇게 잘되었습니다. –