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

Développement Windows Discussion :

Cloner un objet graphique


Sujet :

Développement Windows

  1. #1
    Membre averti Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    927
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 927
    Points : 312
    Points
    312
    Par défaut Cloner un objet graphique
    Bonjour,

    J'aurais besoin de copier ou plutôt cloner des objets graphique.

    Ces objets sont composé d'un groupbox contenant 6 picturebox et 4 textbox.

    J'ai besoin de les cloner 120 fois avant de les positionner dans mon formulaire.

    J'ai déclaré dans mon formulaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        Private fraRectifier(120) As GroupBox
        Private imgRectInst(120) As PictureBox
        Private imgRectLogged(120) As PictureBox
        Private imgIdle(120) As PictureBox
        Private imgNotDet(120) As PictureBox
        Private imgMajorAlarm(120) As PictureBox
        Private imgMinorAlarm(120) As PictureBox
        Private txtRectCurrent(120) As TextBox
        Private txtRectTemp(120) As TextBox
        Private txtInputVAC(120) As TextBox
        Private txtRectNo(120) As TextBox
    J'ai crée graphiquement un groupe complet à copier s'appelant :fraRectifier0, imgRectInst0, imgRectLogged0,......,txtRectNo0.

    Malheureusement ont ne peux pas faire:

    fraRectifier(0) = fraRectifier0
    fraRectifier(1) = fraRectifier0
    ........
    fraRectifier(119) = fraRectifier0

    car si je modifie fraRectifier(0) cela modifie tout les autres.


    Avant de poster j'ai trouvé des codes de sérialisation mais je n'arrive pas à l'adapter pour des objets graphiques.

    Bien entendu je dois pouvoir affecter des images et du texte différent dans chaque groupbox.

  2. #2
    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
    Pour cloner une GroupBox, le plus simple est de déclarer la gropuBox avec une propriété Modifiers à internal (friend en Vb.net) ou public, puis pour cloner :
    • crééer une instance de la form,
    • changer le parent de la groupbox,
    • définir la position de la GroupBox.
    Code en C# :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    int y= this.MyGroupBox.Top ;
    for (int i=0;i<119;i++) 
    {
      y+=this.MyGroupBox.Height+5 ;
      MyForm TheForm=new MyForm() ;
      MyForm.MyGroupBox.Parent=this ;
      MyForm.MyGroupBox.Position= new Point(MyForm.MyGroupBox.Left,y) ;
      MyForm.Dispose() ;
    }
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

Discussions similaires

  1. [Dessin] Objet graphique
    Par silver_78 dans le forum 2D
    Réponses: 2
    Dernier message: 03/10/2005, 11h52
  2. Cloner un objet : comment créer l'instance ?
    Par phplive dans le forum Langage
    Réponses: 8
    Dernier message: 29/05/2005, 19h27
  3. Réponses: 4
    Dernier message: 09/03/2005, 18h15
  4. [Swing][graphics]objets graphiques qui s'effacent
    Par TylerKnoxx dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 11/08/2004, 17h36
  5. Réponses: 3
    Dernier message: 09/02/2003, 02h09

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