none
faire des miniatures d'objet RRS feed

  • Question

  • bonjour ,

    j'ai une windows form avec plusieurs objets et j'ai besoin de recopier un groupBox qui contient des champs texte dans une autre zone de l'interface mais en taille moins grande.

    j'ai pensé à refaire tous le code .est ce qu'il ya un autre moyen de faire ces miniatures ?

    merci

    lundi 12 mars 2012 13:10

Réponses

  • C'est vous qui créez ces contrôles ? Ou ces composants sont fournis par un tiers ? Quel est le but de dupliquer ces contrôles ?

    Confirmez-vous également que c'est bien une copie opérationnelle (clickable, qui gère la saisie etc...) de ces contrôles dont vous avez besoin ? Si oui, le problème est qu'il faudra non seulement dupliquer ces contrôles mais aussi les lier au même comportement ? Mais j'imagine d'un autre côté que l'on ne veut pas forcément avoir exactement le même comportement (sinon quel intérêt d'avoir deux fois des contrôles qui font la même chose ?). Je ne me souviens pas d'avoir déjà vu une demande de ce style.

    Le principe général serait qq chose comme :

        For Each c As Control In Me.GroupBox1.Controls
                Dim newControl As Control = GetClone(c)
                GroupBox2.Add(newControl)
            Next
       
    Donc on examinerait les contrôles de la GroupBox1 et on les "clonerait" (peut-être en créant un nouveau contrôle et en recopiant juste les propriétés qui nous intéressent) avant d'ajouter le nouveau contrôle dans la GroupBox2. Est-ce que vous avez accès aux contrôles que vous voulez dupliquer via une collection quelconque ?


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".

    mardi 13 mars 2012 12:57
    Modérateur

Toutes les réponses

  • Bonjour,

    Qu'appellez vous par miniatures ? Est-ce que vous voulez faire une capture d'écran du contenu de groupBox et ensuite le mettre dans une autre zone de l'interface (en plus petit) ? Ou alors vous voulez copier les contrôles (CheckBox, RadioButton,...etc) dans une autre zone de l'interface ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    lundi 12 mars 2012 17:55
    Modérateur
  • je veux copier les contrôles (CheckBox, RadioButton,...etc) dans une autre zone de l'interface.

    j'ai fait des recherches sur le sujet mais j'ai pressque rien trouver.

    merci de bien vouloir m'aider

    mardi 13 mars 2012 07:08
  • Bonjour,

    Si il s'agit bien de reproduire ces contrôles et qu'ils soient opérationnels, il serait possible de créer un contrôle utilisateur ce qui permettrait de réutiliser cette même combinaison de contrôles à n'importe quel endroit (sur le même formulaire ou sur des formulaires différents). Je ne vois pas vraiment le besoin pour "en plus petit"... C'est la longueur des champs qui doit être moins grande ? Fonctionnellement quelle est la différence entre les deux copies ?

    Si on veut juste une image DrawToBitmap copier l'image d'un contrôle et on peut la réduire avant de l'afficher ailleurs.

    Sinon il reste possible de recopier les contrôles eux-mêmes (il faut sans doute "cloner" les contrôles avant d'utiliser Controls.Add) mais cela risque probablement de rapidement devenir difficilement maintenable.


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".

    mardi 13 mars 2012 12:02
    Modérateur
  • mon probléme est que je dois recopier des controls qui sont faits sur des composants créés dynamiquement
    mardi 13 mars 2012 12:27
  • C'est vous qui créez ces contrôles ? Ou ces composants sont fournis par un tiers ? Quel est le but de dupliquer ces contrôles ?

    Confirmez-vous également que c'est bien une copie opérationnelle (clickable, qui gère la saisie etc...) de ces contrôles dont vous avez besoin ? Si oui, le problème est qu'il faudra non seulement dupliquer ces contrôles mais aussi les lier au même comportement ? Mais j'imagine d'un autre côté que l'on ne veut pas forcément avoir exactement le même comportement (sinon quel intérêt d'avoir deux fois des contrôles qui font la même chose ?). Je ne me souviens pas d'avoir déjà vu une demande de ce style.

    Le principe général serait qq chose comme :

        For Each c As Control In Me.GroupBox1.Controls
                Dim newControl As Control = GetClone(c)
                GroupBox2.Add(newControl)
            Next
       
    Donc on examinerait les contrôles de la GroupBox1 et on les "clonerait" (peut-être en créant un nouveau contrôle et en recopiant juste les propriétés qui nous intéressent) avant d'ajouter le nouveau contrôle dans la GroupBox2. Est-ce que vous avez accès aux contrôles que vous voulez dupliquer via une collection quelconque ?


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".

    mardi 13 mars 2012 12:57
    Modérateur