Ajoute de controle

Résolu
matrux Messages postés 35 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 31 juillet 2007 - 29 juil. 2007 à 10:15
matrux Messages postés 35 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 31 juillet 2007 - 30 juil. 2007 à 08:34
Bonjour,

Voila j'ai un probléme.

Je cherche deseperement le moyen de faire apparaitre une toolstrip et un webbrowser dans un onglet recament crée mais je ne vois pas comment faire :

TabControl1.TabPages.Add(ongletcounter + 1)
ongletcounter += 1
Dim tstrip As New ToolStrip()
tstrip.Name = "navigbar"
tstrip.Parent = ????
Controls.Add(tstrip)

Je ne sais pas quoi mettre pour que la toolstrip se mette dans l'onglet tous juste creer.

Merci de votre aide

Salut

Matrux

28 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 juil. 2007 à 10:27
        TabControl1.TabPages.Add(ongletcounter + 1)
        ongletcounter += 1
        Dim tstrip As New ToolStrip()
        tstrip.Name = "navigbar"
        tstrip.Parent = TabControl1.TabPages(ongletcounter-1)
        <strike>Controls.Add(tstrip)</strike>

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 juil. 2007 à 11:10
tu passe par la collection d'items du toolstrip. Exemple pour un bouton :

        Dim titi As New ToolStripButton
        titi.Text = "calimero"
        tstrip.Items.Add(titi)

Ensuite il faut abonner l'évènement désiré de ton bouton à une procédure de ton code capable de traiter cet évènement :
        AddHandler titi.Click, AddressOf titi_Click

avec la procédure :
    Private Sub titi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        .............
    End Sub

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 juil. 2007 à 12:09
Effectivement en sortant de la fonction tu perds la réféence sur les controles créés.

Il faut donc qu'en tu en as à nouveau besoin, récupérer une référence sur ces controles.

Ici, tu en a besoin dans la procédure titi_click. en faisant un peu de bricolage, on peut retrouver cette référence.

Dans titi, tu as sender qui représente le bouton qui a été cliké. Ce bouton est contenu dans un ToolStrip, lui même contenu dans une TabPage. Donc en remontant la parenté du bouton, on peut retourver la TabPage (avec les subtilités des différents controles).
Le WebBrowser étant posé sur cettemême TabPage, il fait partie de sa collection de controles. 9a donne un code comme ceci :

 Private Sub titi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
       Dim tmpnavig As WebBrowser

        Dim tbpage As TabPage = CType(sender, ToolStripButton).GetCurrentParent.Parent

        tmpnavig = tbpage.Controls("webnavig")
        tmpnavig.GoBack()
End Sub

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 juil. 2007 à 13:16
Effectivement ton code n'est pas bon.

sender représente toujours le controle qui déclenche l'évènement, ici c'est le webbrowser et non plus le bouton du tollstrip.

Sur le même principe que tout à l'heure il te faut remonter la parenté, mais ici que d'un niveau puisque le controle recherché (la tabpage) est directement le parent du controle de départ (sender, donc le webbrowser).

Ca donne ceci :

    Private Sub Navig_cmpl(ByVal sender As Object, ByVal e As System.EventArgs)

        Dim tmpnavig As WebBrowser = CType(sender, WebBrowser)
        Dim tbpage As TabPage = tmpnavig.Parent
        tbpage.Text = tmpnavig.DocumentTitle

    End Sub

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 juil. 2007 à 18:24
Quant tu supprime un onglet, pense à décrémenté ton compteur

Tu ne peux pas créer le 3eme onglet si tu n'as pas aupparavent 2 onglets d'existants

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 juil. 2007 à 18:49
Oupssss, excuse moi, j'avais pas fait gaffe que tu parlait de la textbox, j'étais resté sur la barre d'outil.

Essaye peut-etre alors en mettant la Propriété Autosize de la textbox à False.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
matrux Messages postés 35 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 31 juillet 2007
29 juil. 2007 à 10:55
Merci beaucoup de ta réponse.
J'ai une autre question comment je fais pour ajouter des boutons et le code pour ces boutons dans le toolstrip.

Merci de vos reponses

Matrux
0
matrux Messages postés 35 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 31 juillet 2007
29 juil. 2007 à 11:16
Merci beaucoup.
Si j'ai beacoin d'aide je reviendrai.

Merci

Salut

Matrux
0
matrux Messages postés 35 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 31 juillet 2007
29 juil. 2007 à 11:42
Me revoila j'ai un probléme.
J'ai un webbrowser qui se nomme navig.
j'ai donc ceci

Public Sub OngletNouveauToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OngletNouveauToolStripMenuItem.Click
[...]
Dim Navig As New WebBrowser()
Navig.Name = "webnavig"
Navig.Dock = DockStyle.Fill
Navig.Parent = TabControl1.TabPages(ongletcounter - 1)
[...]
end sub

et ensuite j'ai ceci

Private Sub titi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
navig.goback
End Sub

Le probléme est qu'il ne trouve pas navig.
Et je ne peux pas declarer Navig en dehors de OngletNouveauToolStripMenuItem_Click sinon je n'ai qu'un seul webbrowser qui va sur le nouvel onglet en supprimant l'ancien webbrowser.
0
matrux Messages postés 35 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 31 juillet 2007
29 juil. 2007 à 12:27
Merci beaucoup.
Ca marche du tonner de dieu.
Merci de ton aide casy ainsi que pour ta rapidité de réponses.
Si j'ai besoin d'aide je reviendrais.

Merci

Salut

Matrux
0
matrux Messages postés 35 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 31 juillet 2007
29 juil. 2007 à 12:57
J'ai encore un probléme (j'espere que c'est le dernier je dois etre soulant a la fin....)

Voila je voudrais changer le nom de l'onglet sur lequelle le webrowser et activer j'ai donc ceci

Public Sub OngletNouveauToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OngletNouveauToolStripMenuItem.Click

Navig.Name = "webnavig"
Navig.Dock = DockStyle.Fill
Navig.Parent = TabControl1.TabPages(ongletcounter - 1)
AddHandler Navig.DocumentTitleChanged, AddressOf Navig_cmpl

End Sub

Private Sub Navig_cmpl(ByVal sender As Object, ByVal e As System.EventArgs)
Dim tmpnavig As WebBrowser
Dim tbpage As TextBox = CType(sender, ToolStripButton).GetCurrentParent.Parent
tmpnavig = tbpage.Controls("webnavig")
tbpage.Text = tmpnavig.DocumentTitle
End Sub

Mais ceci ne fontionne pas.

Merci pour toutes reponses

Bonne journée

Matrux
0
matrux Messages postés 35 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 31 juillet 2007
29 juil. 2007 à 13:01
Euhh excuse moi j'ai fais une erreur :

Private Sub Navig_cmpl(ByVal sender As Object, ByVal e As System.EventArgs)
Dim tmpnavig As WebBrowser
Dim tbpage As tabpage = CType(sender, ToolStripButton).GetCurrentParent.Parent
tmpnavig = tbpage.Controls("webnavig")
tbpage.Text = tmpnavig.DocumentTitle
End Sub
0
matrux Messages postés 35 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 31 juillet 2007
29 juil. 2007 à 13:19
Merci beaucoup,
Grace a toi j'ai eu aujourd'hui un vrai cour de VB.net. ;)

Bonne journée
Et encore unefois merci de ton aide

Salut

Matrux
0
matrux Messages postés 35 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 31 juillet 2007
29 juil. 2007 à 14:39
Je n'arrive pas a ajouter de Toolstriptextbox a mon toolstrip. voici ce que j'ai comme code :

Dim AdressBar As New ToolStripTextBox
AdressBar.Text = ""
AddHandler AdressBar.KeyPress, AddressOf AdressBar_KeyPress

J'aimerai aussis savoir si ce code la va marcher pour ma textbox :

Public Sub AdressBar_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
Dim tmpnavig As WebBrowser
Dim AdressBar As ToolStripTextBox
Dim tbpage As TabPage = CType(sender, ToolStripButton).GetCurrentParent.Parent
Dim tbpages
tmpnavig = tbpage.Controls("webnavig")
tbpages = tmpnavig.Parent
AdressBar = tbpages.Controls("AdressBar")
If e.KeyChar = ControlChars.Cr Then
tmpnavig.Navigate(AdressBar.Text)
End If
End Sub
0
matrux Messages postés 35 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 31 juillet 2007
29 juil. 2007 à 15:00
J'ai reussi a afficher la textbox mais j'ai un autre probléme :
J'aimerai que quand j'appui sui entrer ceci charge l'adresse web tapé dans la textbox mais ceci ne marche pas :

Voici le code que j'utilise :
Public Sub AdressBar_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
Dim tmpnavig As WebBrowser
Dim AdressBar As ToolStripTextBox
Dim tbpage As TabPage = CType(sender, ToolStripButton).GetCurrentParent.Parent
Dim tbpages
tmpnavig = tbpage.Controls("webnavig")
tbpages = tmpnavig.Parent
AdressBar = tbpages.Controls("AdressBar")
If e.KeyChar = ControlChars.Cr Then
tmpnavig.Navigate(AdressBar.Text)
End If
End Sub

Merci de ton aide

Salut

Matrux
0
matrux Messages postés 35 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 31 juillet 2007
29 juil. 2007 à 15:36
Merci,

J4ai trouver comment faire :
J'ai utiliser ce code la :

Public Sub AdressBar_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
Dim tmpnavig As WebBrowser
Dim AdressBar As ToolStripTextBox
Dim tbpage As TabPage = CType(sender, ToolStripTextBox).GetCurrentParent.Parent
Dim tbpages As ToolStrip = CType(sender, ToolStripTextBox).GetCurrentParent
tmpnavig = tbpage.Controls("webnavig")
AdressBar = tbpages.Items.Item("adressbar")
If e.KeyChar = ControlChars.Cr Then
tmpnavig.Navigate(AdressBar.Text)
End If
End Sub

Par contre j'ai un autre probléme :

Dim AdressBar As New ToolStripTextBox
AdressBar.Name = "AdressBar"
AdressBar.Text = ""
AdressBar.Width = "600"
AddHandler AdressBar.KeyPress, AddressOf AdressBar_KeyPress
tstrip.Items.Add(AdressBar)

Ma toolstriptextbox ne veut pas s'afficher avec un taille de 600.

Merci de ton aide
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 juil. 2007 à 16:16
Ouh là, j'ai du retard dans les réponses.

Dsl, j'ai pas tout lu

Pour la dimention regarde la propriété Dock, par défaut je pense qu'elle est à Top (ancrée en haut du parent), il doit falloir la mettre sur None.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
matrux Messages postés 35 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 31 juillet 2007
29 juil. 2007 à 16:26
Oui mais si je retire dock top elle ne sera plus en haut, et justement je voudrais la garder en haut
As-tu une idée qui pourrais m'aide rpour ce petit probléme ?

Et aussis au passage pendant que j'y pense, comment tu fais pour supprimer l'onglet actif d'un tabcontrol ?

Merci de ton aide.

Salut

Matrux
0
matrux Messages postés 35 Date d'inscription vendredi 4 novembre 2005 Statut Membre Dernière intervention 31 juillet 2007
29 juil. 2007 à 16:32
Et aussis comment faire pour que lorsque je clique sur un menu qui a pour fontion 'Navig.ShowSaveAsDialog()' il enregistre la page de l'onglet actif.

Merci


Matrux
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 juil. 2007 à 16:41
Alors en bloc
pour la barre d'outil, tu joues sur sa position avec les propriétés .Location.X et .Location.Y

Pour obtenir l'onglet courant, tu l'as avec TabControl1.SelectedTab. A partir de là tu peux accèder à tous ses controles enfants.

Quant à le supprimer un truc comme TabControl1.TabPages.Remove(TabControl1.SelectedTab) devra le faire.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
Rejoignez-nous