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

C# Discussion :

Avoir accés à un objet instancié.


Sujet :

C#

  1. #1
    Membre actif
    Avatar de Micmaya
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 131
    Points : 202
    Points
    202
    Billets dans le blog
    3
    Par défaut Avoir accés à un objet instancié.
    Bonjour,

    Excusez-moi pour le titre qui n'est peut-être pas très explicite et/ou facile à comprendre, je m'explique:

    J'ai créer un objet "WebBrowser" dans une fonction et j'aimerais avoir accès depuis n'importe qu'elle autre endroit, le code ci-dessous pour mieux comprendre:

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
     
    namespace WebEditor
    {
        public partial class FrmMain : Form
        {
            public FrmMain()
            {
                InitializeComponent();
            }
     
            private void nouveauToolStripMenuItem_Click(object sender, EventArgs e)
            {
                NouvelOnglet("document.html");
            }
     
    	void NouvelOnglet(string document)
    	{
    	    TabPage tb = new TabPage();
    	    tb.Text = document;
     
    	    WebBrowser web = new WebBrowser();
    	    web.Navigate("http://google.be/");
    	    web.Dock = DockStyle.Fill;
     
    	    tb.Controls.Add(web);
     
    	    TabControl1.TabPages.Add(tb);
                TabControl1.SelectTab(tb);
    	}
     
            private void WebBrowser() GetActiveWebBrowser
    	{
    	     return TabControl.TabPages.Controls(0);
    	}
     
            private void AllerToolStripMenuItem_Click(object sender, EventArgs e)
            {
                 GetActiveWebBrowser.Navigate("http://www.developpez.com");
            }
        }
    }
    Et comme vous pouvez le voir ma fonction "GetActiveWebBrowser" ne fonctionne pas, ne retourne pas l'objet souhaitez (WebBrowser), alors qu'en VisualBasic .NET ça fonctionne.

    J'espère que vous pourrez m'aider à solutionner mon problème.
    En vous remerciant d'avance,
    Pensez à mettre comme si c'est le cas !

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 766
    Points
    766
    Par défaut
    Il te retourne quoi dans ce cas là?
    Les fautes d'orthographes sus-citées sont déposées auprès de leurs propriétaires respectifs. Aucune responsabilité n'est engagée sur la lisibilité du message ou les éventuels dommages qu'il peut engendrer.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2012
    Messages : 37
    Points : 31
    Points
    31
    Par défaut
    Hum je vais peut être dire des bêtise mais si tu cast ton tab page control comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private void WebBrowser() GetActiveWebBrowser
    {
           return (WebBrowser)TabControl.TabPages.Controls(0);
    }

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return TabControl.TabPages[0].Controls(0);
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  5. #5
    Membre actif
    Avatar de Micmaya
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 131
    Points : 202
    Points
    202
    Billets dans le blog
    3
    Par défaut
    Dans mon post, il y a déjà une erreur au moment du:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private void WebBrowser() GetActiveWebBrowser
    {
         return tabControl1.TabPages.Controls(0);
    }
    Le compilateur ne l'accepte pas. dsl, aucun "return" ne peut-être accepté dans ce cas. Si par contre je tape ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private WebBrowser GetActiveWebBrowser()
    {
         return (WebBrowser)tabControl1.TabPages[0].Controls(0);
    }
    Il me retourne encore une erreur "Un membre ...Controls ne pouvant pas être appelé ne peut être utilisé comme une méthode".

    Ci-dessous le code en VB .NET qui fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Function GetActiveWebBrowser() As WebBrowser
          return tabControl1.TabPages.Controls(0)
    End Function
    Après plusieurs recherches sur le web, je pense avoir trouvé la solution à mon problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((WebBrowser)tabControl1.SelectedTab.Controls[0]).GoBack();

    Je vous remercie pour vos propositions qui m'ont mis sur la voie...
    Pensez à mettre comme si c'est le cas !

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

Discussions similaires

  1. [c#] Méthode d'accès aux objets de ma form1
    Par SDuh dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/03/2006, 11h21
  2. [FLASH MX2004] Valeurs d'objets instances de classes...
    Par amietbeach dans le forum Flash
    Réponses: 2
    Dernier message: 25/02/2006, 15h38
  3. Réponses: 11
    Dernier message: 06/12/2005, 08h23
  4. [débutant] avoir accès aux données de la base BCDI 3
    Par Valichou dans le forum Bases de données
    Réponses: 7
    Dernier message: 06/05/2004, 13h13
  5. [TGroupBox] Accès aux objets
    Par JediKerian dans le forum Composants VCL
    Réponses: 3
    Dernier message: 04/04/2003, 14h34

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