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

Signaler
Messages postés
19
Date d'inscription
vendredi 21 décembre 2018
Statut
Membre
Dernière intervention
27 juin 2020
-
Messages postés
19
Date d'inscription
vendredi 21 décembre 2018
Statut
Membre
Dernière intervention
27 juin 2020
-
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

Messages postés
28879
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juillet 2020
2 594
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






Cordialement,
Jordane
Messages postés
19
Date d'inscription
vendredi 21 décembre 2018
Statut
Membre
Dernière intervention
27 juin 2020

C'est pas très clair... Je vais trouver une solution
Messages postés
11465
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
4 juillet 2020
655
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)
Messages postés
19
Date d'inscription
vendredi 21 décembre 2018
Statut
Membre
Dernière intervention
27 juin 2020

le troisième
Messages postés
11465
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
4 juillet 2020
655 >
Messages postés
19
Date d'inscription
vendredi 21 décembre 2018
Statut
Membre
Dernière intervention
27 juin 2020

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.
Messages postés
19
Date d'inscription
vendredi 21 décembre 2018
Statut
Membre
Dernière intervention
27 juin 2020
>
Messages postés
11465
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
4 juillet 2020

Oh merci ça marche ton truc ;)
Messages postés
19
Date d'inscription
vendredi 21 décembre 2018
Statut
Membre
Dernière intervention
27 juin 2020

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)