2009-10-10 2 views
1

Visual Studio 2008과 웹 브라우저 만있는 매우 간단한 Visual Basic 프로젝트를 사용하여 YouTube 페이지를로드하려고합니다. 내가 폼이로드 될 때 페이지를로드 할 :VB.NET - 폼로드 이벤트에서 탐색 할 때 웹 브라우저가 멈 춥니 다.

Private Sub Form1_Load(ByVal sender As Object, 
    ByVal e As System.EventArgs) Handles Me.Load 
    WebBrowser1.Navigate("http://code.google.com/apis/youtube/js_example_1.html") 
End Sub 

모든 지금 & 다음 (번씩 3-5 번 발생하지만 다름), 형태는 빈 흰색 상자가 표시됩니다.

왜 이런 일이 발생하는지 이해할 수 있도록 도와 줄 수 있습니까?

편집 :이 '고정'은 모든 페이지에서 발생합니다 (예 : http://www.google.com). 내 WebBrowser 컨트롤이 손상 되었습니까? 폼로드 이벤트에서 탐색 코드를 배치 할 때만 발생하는 것 같습니다. 이상하게 보입니다.

답변

0

이것은 아마도 (거의 확실) 폼의 Load 이벤트는 최초의 Paint 이벤트 전에 발생하기 때문에 잠시에서는 WebBrowser 양식 페인트 자체 전에 구글 (또는 어디든지) 에 처음으로 탐색을 완료 그렇게 한 번 발생하고있다 따라서 WebBrowser는 그냥 흰색 상자로 나타납니다. 이 문제에 대한

아주 간단한 해결책이 짧은 간격 (예를 들어, 100 MS)와 폼에 Timer 컨트롤을 배치하는 것입니다, trueEnabled를 설정하고, 그 Tick 이벤트에 타이머를 해제 한 다음에 Navigate(...) 전화 귀하의 웹 브라우저.

+0

회신을 보내 주셔서 감사합니다. 타이머 트릭을 시도했지만 여전히 똑같습니다. 폼을로드 한 후에 만 ​​호출되는 Form Show 이벤트에서 WebBrowser1.Navigate를 시도했습니다 ... 가끔씩 멈추는 경우도 있습니다. 그런 다음 모든 코드를 제거하고 버튼을 추가했습니다. 버튼 클릭 이벤트에서 나는 WebBrowser1.Navigate를 추가했고, 또한 때때로 멈추게됩니다. 산발적으로 보이기 때문에 실망 스럽기 때문에 오류를 지적 할 수 없습니다. –

+0

WebBrowser는 때로는 컴퓨터에 설치 한 Internet Explorer 버전의 인스턴스를 보여주기 때문에 때로는 이상한 경련을 일으킬 수 있습니다. 일반 웹 브라우저 인스턴스로이 웹 사이트를 탐색 할 때 이런 문제가 발생하지 않는다고 가정합니다. – MusiGenesis

+0

그래, 'mormal'브라우저에는 문제가 없습니다. 또한 64 비트 비스타 시스템에서 javascript 권한 문제가 발생합니다. 나는 당신의 요약이 머리에 nqail을 친다 고 생각한다. "때때로 WebBrowser가 이상하고 경련을 일으킬 수있다." .NET 대신 Flash를 배웠 으면 좋겠다. –

관련 문제