La référence d'objet n'est pas définie à une instance d'un objet

Résolu
mpsz Messages postés 34 Statut Membre -  
mpsz Messages postés 34 Statut Membre -
Bonjour, je crée un navigateur web (avec onglets) en VB.net mais c'est là le problème...
Quand je clique sur Nouvel onglet, ça met : La référence d'objet n'est pas définie à une instance d'un objet.
Code :

Dim navi As New WebBrowser

Me.TabControl1.TabPages.Add("TabPage1", "Onglet")

Me.TabControl1.TabPages("Onglet").Controls.Add(navi)

3 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,

    Alors déjà.. non... tu ne créés pas de navigateur web...
    Tu ne fais qu'utiliser le composant "webbrowser" fourni par .NET et qui se sert du moteur d'internet explorer (ou version plus récente éventuellement...)

    Ensuite, tu as oublié d'instancier l'objet TabPages non ?
    Un truc du genre :
    Dim TabControl1 As New TabControl 
    Dim tabPage As New TabPage(url) 
    tabPage.Controls.Add(navi)
    


    Sinon tu peux regarder le code fourni ici qui devrait t'aider
    https://social.msdn.microsoft.com/Forums/sqlserver/en-US/6f3d0f01-9bcb-40fa-b24e-405c519e4c7d/how-to-make-a-tabbed-webbrowser?forum=vbgeneral

    0
    1. mpsz Messages postés 34 Statut Membre
       
      C'est pas très clair... Je vais trouver une solution
      0
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, à quelle ligne se rapporte le message d'erreur?

    moi j’essaierais plutôt:
    Dim navi As New WebBrowser
    Me.TabControl1.TabPages.Add("cle_unique", "nom_visible")
    Me.TabControl1.TabPages("cle_unique").Controls.Add(navi)
    0
    1. mpsz Messages postés 34 Statut Membre
       
      le troisième
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > mpsz Messages postés 34 Statut Membre
         
        as-tu essayé ma suggestion?

        pour tester, tu peux aussi modifier
        Me.TabControl1.TabPages("Onglet").Controls.Add(navi)

        en et faire:
        dim page as TabPage
        page = Me.TabControl1.TabPages("Onglet")
        page.Controls.Add(navi)

        et ensuite voir à quelle ligne se produit l'erreur.
        0
      2. mpsz Messages postés 34 Statut Membre > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Oh merci ça marche ton truc ;)
        0
  3. mpsz Messages postés 34 Statut Membre
     
    J'ai maintenant trouvé :

    Dim page As New TabPage
    Dim navi As New WebBrowser
    navi.Dock = DockStyle.Fill
    page.Controls.Add(navi)
    TabControl1.Controls.Add(page)
    0