Makale numarası: 259935 - Son Gözden Geçirme: 12 Mayıs 2003 Pazartesi - Gözden geçirme: 2.0

Hata: WebBrowser görünür değil Açtığınızda DocumentComplete başlatılmıyor

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Belirtiler

Visible özelliğini "False" olarak ayarlandığında, WebBrowser denetimini (Shdocvw.dll) DocumentComplete Olayı başlatılmıyor ve belge READYSTATE_COMPLETE durumu ulaşma.

Çözüm

Bir gizli WebBrowser denetimi kullanan uygulamalar için en iyi çözüm, böylece, kullanıcı arabirimi devre dışı kapsayıcısı penceresi çizer, denetimi yerleştirmek kullanılır. Bunu yapmak için <a0></a0>, denetimin <a1>Sol</a1> özelliği için <a0>Genişlik</a0> özelliğinin negatif ayarlayın. Sol özellik değerini EnumDisplayMonitors() yöntemini çağırarak verilen değerlere dışında olan koordinatları olarak ayarlanmalıdır; bu nedenle multimonitor senaryolarda, geçerli ekran koordinatları, negatif değerler olabilir.

WebBrowser kullanıcı arabirimindeki gerek duyulmazsa, bunun yerine, Winınet Apı çoğu aynı işlevselliği sağlar.

Durum

Microsoft, bunun bu makalenin başında listelenen Microsoft ürünlerinde bir hata olduğunu onaylamıştır.

Daha fazla bilgi

Davranışı yeniden oluşturma adımları

  1. Yeni bir proje standart exe DOSYASı, Visual Basic'te başlatın. Varsayılan olarak, Form1 oluşturulur.
  2. Microsoft ınternet denetimleri (Shdocvw.dll) projeye ekleyin. Bu nedenle, bu Proje menüsünden bileşenleri tıklatmak için <a0></a0>.
  3. Form1'e aşağıdaki denetimleri ekleyin:
       Object                     Name                  Caption
       -------------------------------------------------------------------
    
       WebBrowser                 WebBrowser1            
       CheckBox                   chkVisible            Visible (value of 1 - checked)
       CommandButton              cmdNavigate           Navigate
       CommandButton              cmdReadyState         ReadyState
    
     
    					
  4. Form1 kod penceresine aşağıdaki kodu kopyalayın:
       Private Sub cmdNavigate_Click()
          WebBrowser1.Navigate2 "http://msdn.microsoft.com/workshop"
       End Sub
    
       Private Sub cmdReadyState_Click()
          MsgBox WebBrowser1.Document.ReadyState
       End Sub
    
       Private Sub chkVisible_Click()
          WebBrowser1.Visible = chkVisible.Value
       End Sub
    
       Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object,
                                                URL As Variant)
          MsgBox "DocumentComplete!"
       End Sub
    
       Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object,
                                                 URL As Variant)
          MsgBox "NavigateComplete2!"
       End Sub
    					
  5. Çalıştır menüsünü Başlat ' ı tıklatın veya programı başlatmak için F5 tuşuna basın.
  6. Kayıt Bul</a0> düğmesini tıklatın. NavigateComplete2 hem DocumentComplete olaylar, dikkat edin.
  7. WebBrowser denetimi gizlemek için görünür onay kutusunu temizleyin. Kayıt Bul</a0> düğmesini yeniden tıklatın. Yalnızca NavigateComplete2 olayını harekete geçirdi dikkat edin. ReadyState düğmesini kullanarak, denetimin ReadyState READYSTATE_COMPLETE (4) ulaştı doğrulayın.

    Aynı davranış, Kayıt Bul yeniden tıklattığınızda ortaya çıkar. WebBrowser denetimi yeniden görünür hale görünür onay kutusu seçildiğinde, yalnızca DocumentComplete Olayı harekete geçirilir. Davranış aşağıdaki kodla chkVisible_Click işleyicisi değiştirerek çözebilirsiniz:
       Private Sub chkVisible_Click()
           If chkVisible.Value Then
               WebBrowser1.Left = 120 ' or whatever the normal Left value is
           Else
               WebBrowser1.Left = -WebBrowser1.Width
           End If
       End Sub
    					

Referanslar

Ek bilgi için lütfen aşağıdaki MSDN Web Atölyesi sitelerine bakın:

DocumentComplete Olayı
http://msdn.microsoft.com/workshop/browser/webbrowser/reference/events/DocumentComplete.asp (http://msdn.microsoft.com/workshop/browser/webbrowser/reference/events/DocumentComplete.asp)

Microsoft Win32 ınternet işlevleri başvurusu
http://msdn.microsoft.com/workshop/networking/wininet/reference/reference.asp (http://msdn.microsoft.com/workshop/networking/wininet/reference/reference.asp)

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Internet Explorer 4.0 128-Bit Edition
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 4.01 Service Pack 1
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.01
  • Microsoft Internet Explorer 5.5
Anahtar Kelimeler: 
kbmt kbbug kbwebbrowser KB259935 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:259935  (http://support.microsoft.com/kb/259935/en-us/ )
Retired KB ArticleKullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.