2014-04-09 2 views
0

웹 브라우저 컨트롤을 창에 추가 한 다음 페이지를 열려고합니다. 웹 URL뿐만 아니라 로컬 HTML 파일을 사용해 보았습니다. 여기 내 코드입니다 :로컬 웹 페이지를 웹 브라우저 컨트롤에로드하십시오.

네임 스페이스 qTab1 { 공공 부분 Form1 클래스 : 양식 { 공개를 Form1() { 의 InitializeComponent(); }

private void Form1_Load(object sender, EventArgs e) 
    { 
     FileStream source = new FileStream("index.html", FileMode.Open, FileAccess.Read); 
     webBrowser1.DocumentStream = source; 
     //// When the form loads, open this web page. 
     //webBrowser1.Navigate("www.google.com"); 
    } 

    private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) 
    { 
     // Set text while the page has not yet loaded. 
     this.Text = "Navigating"; 
    } 

    private void webBrowser1_DocumentCompleted(object sender, 
     WebBrowserDocumentCompletedEventArgs e) 
    { 
     // Better use the e parameter to get the url. 
     // ... This makes the method more generic and reusable. 
     this.Text = e.Url.ToString() + " loaded"; 
    } 
} 

}

이 순간에 내 프로젝트입니다 :

enter image description here

내가 잘못 뭐하는 거지?

답변

1

이런 일이 발생하는 이유는 (그래서 것 - ./bin/Debug)는 디버그를 누르거나 프로젝트를 다른 방법으로 빌드 할 때 루트 디렉토리의 실행 파일의 디렉토리이다 아닌 디렉토리 프로젝트의

는이 문제를 해결하려면 다음을 수행 할 수 있습니다

  1. 마우스 오른쪽 단추로 HTML 파일을 클릭 속성을 클릭하고 변수 항상 복사에 "출력 디렉토리에 복사"를 설정합니다. 그렇게하면 html 파일이 실행 파일과 함께 복사됩니다.
  2. 이제 WebBrowser 컨트롤에 로컬 파일을로드해야합니다. 다음은 작동해야합니다 :

    webBrowser1.Url = new Uri ("file : ///"+ Directory.GetCurrentDirectory() + "/index.html");

+0

당신이 말한 것은 모두 의미가 있었지만 여전히 제안 뒤에 아무것도없는 빈 페이지가 나타납니다. –

+0

나는 내가 뭔가 잘못한 줄 알았다. 그냥 (내가 작성한 것과 같은 단계에 따라) 빠른 점검을했고 모든 것이 잘된 것처럼 보입니다. **./bin/Debug ** 폴더를 확인하십시오. 그것은 index.html을 포함합니까? – user3352250

관련 문제