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

Résolu
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. Modérateur
    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

    1. C'est pas très clair... Je vais trouver une solution
  2. Contributeur
    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)
    1. le troisième
    2. Contributeur
      @mpszas-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.
    3. @yg_beOh merci ça marche ton truc ;)
  3. 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)