CefSharp 라이브러리를 사용하여 C# 응용 프로그램에 Chromium WebBrowser를 추가했으며 사용자가 이전 페이지로 이동할 수 있도록 '뒤로'버튼에 기능을 추가하려고합니다. 난 그냥 '뒤로'버튼을 누를 때 호출되는 방법이 라인을 작성하는 경우 다음,Chromium webBrowser 탐색 방법
browser.WebBrowser.Back();
그러나 예외 :
내가 알고있는 것처럼
이는 다음 행으로 할 것 내 응용 프로그램이 중단됩니다.예외 말한다
예외 처리되지 않은
CefSharp.dll
에 추가 정보를 발생 타입의 처리되지 않은 예외 'System.Exception'이었다 lBrowser 인스턴스가 null. 브라우저 초기화가 완료되지 않았거나 처리 중입니다.
왜 예외가 발생합니까? 나는 예외가 발생하는 라인을 통해 내 커서를 가져 가면 는 메시지가 밝히는 팝업 :
(확장) 무효 lWebBrowser.Back()
전에 lWebBrowser.CanGoBack을 선택해야합니다, 다시 탐색 이 메소드를 호출합니다. 그때 즉 첫째
lWebBrowser.CanGoBack
의 가치를 확인하는if
문, 안쪽이 줄을 이동하면 내 응용 프로그램을 실행할 있지만
는하지만,
if(browser.WebBrowser.CanGoBack){
browser.WebBrowser.Back();
}
는, CanGoBack
는 항상 시간을 false- 것으로 보인다 나는 '뒤로'버튼을 누르고, 내 콘솔에 표시된 디버그는 이것이 거짓임을 나타냅니다 ... 그러나 true
의 값을 지정하려고하면 (즉, 사용자가 다른 페이지로 이동하면 이동할 페이지가 있음) back to) 예 :
browser.WebBrowser.CanGoBack = true;
가 나는 말한다 컴파일 오류 얻을 :
건물 또는 인덱서를 'lWebBrowser.CanGoBack'에 할당 할 수 없습니다 - 그것은
그래서 어떻게 브라우저를 강제 할 수 읽기 전용 사용자가 '뒤로'버튼을 클릭하면 페이지를 탐색 할 수 있습니까?
'브라우저가 초기화를 완료하지 못했습니다 .' 예외로 브라우저가 초기화를 완료하지 않았다고합니다. 초기화 될 때까지 메소드를 실행할 수 없습니다. 'CanGoBack'은 설정할 수있는 속성이 아니며, 브라우저 자체에서 계산됩니다. 브라우저가 로딩을 마쳤을 때'CanGoBack'을 설정해야합니다. 설명이 필요한 경우 출처를 살펴보십시오. 'WinForms' 또는'WPF'를 사용하는 경우 명시하지 않았으므로 자세한 대답을 제공 할 수 없습니다. – amaitland