IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Problème avec les onglets et web browser


Sujet :

Windows Forms

  1. #1
    Membre du Club Avatar de Nanos
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 109
    Points : 50
    Points
    50
    Par défaut Problème avec les onglets et web browser
    Salut à tous,

    Je suis nouveau sur ce forum ... mais je suis inscris depuis longtemps sans que je me suis rappeller que j'avait un compte ici ... Enfin bref voilà mon problème :

    J'ai créer un Navigateur Web et quand je clique sur le bouton valider lien où valider recherche google tandis que je suis sur un autre onglet que le principal (webBrowser1), c'est l'onglet principal qui prend ... pas mon onglet séléctionner. Donc j'ai compris d'où venez le problème mais étant donner que je suis aussi nouveaux dans la programmation C# ... je ne contrôle pas très bien le type de projet : windows form ... et je sais pas quoi mettre ... Voici mon code actuel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
            //ok addresse
            private void pictureBox7_Click(object sender, EventArgs e)
            {
                webBrowser1.Navigate(textBox2.Text);
            }
     
            //ok google
            private void pictureBox11_Click(object sender, EventArgs e)
            {
                string url = Convert.ToString(textBox1.Text);
                textBox2.Text = "http://www.google.fr/search?hl=fr&rlz=1C1GGLS_frFR326FR326&q=" + url;
                webBrowser1.Navigate(textBox2.Text);
            }
    Merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Salut,

    Tes explications ne sont pas très claires... pourrais-tu décrire un peu ton application ?

    D'après ce que je comprends, tu as un TabControl, avec un WebBrowser dans chaque TabPage (onglet). Et tu voudrais que les pages s'affichent dans le WebBrowser de l'onglet courant. C'est bien ça ?

    Dans ton code, tu fais explicitement référence à webBrowser1, donc c'est forcément toujours celui-là qui affiche la page demandée. Il faut que tu appelles Navigate sur tel ou tel WebBrowser selon l'onglet sélectionné.

    Voilà une méthode qui devrait marcher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
            private WebBrowser GetSelectedWebBrowser()
            {
                foreach (Control ctl in tabControl1.SelectedTab.Controls)
                {
                    WebBrowser wb = ctl as WebBrowser;
                    if (wb != null)
                        return wb;
                }
                return null;
            }
     
            //ok addresse
            private void pictureBox7_Click(object sender, EventArgs e)
            {
                WebBrowser wb = GetSelectedWebBrowser();
                if (wb != null)
                    wb.Navigate(textBox2.Text);
            }
     
            //ok google
            private void pictureBox11_Click(object sender, EventArgs e)
            {
                WebBrowser wb = GetSelectedWebBrowser();
                if (wb != null)
                {
                    string url = Convert.ToString(textBox1.Text);
                    textBox2.Text = "http://www.google.fr/search?hl=fr&rlz=1C1GGLS_frFR326FR326&q=" + url;
                    wb.Navigate(textBox2.Text);
                }
            }
    Ce n'est pas forcément la meilleure dans ton cas, mais faute d'informations suffisantes sur ton appli, c'est le mieux que je puisse faire

  3. #3
    Membre du Club Avatar de Nanos
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 109
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Salut,

    Tes explications ne sont pas très claires... pourrais-tu décrire un peu ton application ?

    D'après ce que je comprends, tu as un TabControl, avec un WebBrowser dans chaque TabPage (onglet). Et tu voudrais que les pages s'affichent dans le WebBrowser de l'onglet courant. C'est bien ça ?

    Dans ton code, tu fais explicitement référence à webBrowser1, donc c'est forcément toujours celui-là qui affiche la page demandée. Il faut que tu appelles Navigate sur tel ou tel WebBrowser selon l'onglet sélectionné.

    Voilà une méthode qui devrait marcher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
            private WebBrowser GetSelectedWebBrowser()
            {
                foreach (Control ctl in tabControl1.SelectedTab.Controls)
                {
                    WebBrowser wb = ctl as WebBrowser;
                    if (wb != null)
                        return wb;
                }
                return null;
            }
     
            //ok addresse
            private void pictureBox7_Click(object sender, EventArgs e)
            {
                WebBrowser wb = GetSelectedWebBrowser();
                if (wb != null)
                    wb.Navigate(textBox2.Text);
            }
     
            //ok google
            private void pictureBox11_Click(object sender, EventArgs e)
            {
                WebBrowser wb = GetSelectedWebBrowser();
                if (wb != null)
                {
                    string url = Convert.ToString(textBox1.Text);
                    textBox2.Text = "http://www.google.fr/search?hl=fr&rlz=1C1GGLS_frFR326FR326&q=" + url;
                    wb.Navigate(textBox2.Text);
                }
            }
    Ce n'est pas forcément la meilleure dans ton cas, mais faute d'informations suffisantes sur ton appli, c'est le mieux que je puisse faire
    Salut à toi,

    Ouai j'ai eu un peu du mal pour expliquer mon problème. Mais enfin bref tu as bien compris et ton code marche PARFAITEMENT ... Merci beaucoup.

    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec les onglets
    Par guiguilelotois dans le forum LabVIEW
    Réponses: 4
    Dernier message: 01/05/2009, 20h33
  2. Réponses: 8
    Dernier message: 13/07/2007, 00h16
  3. Gros problèmes avec les onglets
    Par poussinphp dans le forum Delphi
    Réponses: 1
    Dernier message: 23/10/2006, 15h51
  4. Réponses: 5
    Dernier message: 06/08/2006, 19h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo