none
Comment copier/coller des objets en ayant un ordre croissant ? RRS feed

  • Question

  • Bonjour,

    Exemple :

    Je met un button1, que je copie et que je colle, ce qui fait un button2, puis 3.

    Ensuite je sélectionne mes trois boutons (1, 2, 3), et je fais : copier/coller.

    Les boutons se placent bien mais dans le désordre 6, 5 et 4

    Question :

    Comment faire un collage en ayant les objets dans l'odre (comme le fait vb6 d'ailleurs) ?

    Merci, cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire


    mardi 9 octobre 2012 22:14

Réponses

  • CLASSEMENT DE LA QUESTION

    Bonjour à tous, et merci de vos contributions.

    A priori je n'arrive pas à trouver de solution, alors je change les valeurs des boutons à la main.

    Pour ma part sur vbNet j'ai toujours constaté cette anomalie que je considère comme un bug, toutefois jusqu'à là elle n'était pas pénalisante car j'avais bien moins d'objets à remettre dans l'ordre.

    Rappel, sou vb6, si on faisait objet1 (o1=image1, o2=im2, o3=im3) puis qu'on faisait un copier/coller de ce groupe on avait : (o4=im1, o5=im2, o6=im3), tandis que vbNet va coller (o6=im1, o5=im2, o4=im3), certes l'ordre des images est conservé mais il n'est pas tenu compte de l'ordre des indexs puisqu'il sont inversés, ce qui devient ingérable quand on a plus de 350 objets, dans la mesure ou en oucle on ne peut guère gérer des indexs qui inversent leur ordre selon la recopie des originaux, il faut remettre tout à la main dans l'ordre croissant des index et de ce que contient leur objet si besoin...

    Peut être faut-il faire remonter cet anomalie en tant que bug à MST, je ne sais comment, je vais voir.

    Certes il reste la possibilité d'une déclaration virtuelle, mais après c'est bien plus compliqué de bien positionner les objets car ça oblige à retourner sans cesse au code, et quand il y a beaucoup d'objet sur une form la mise en place est méticuleuse, et bien plus performante si on peut intervenir directement de façon manuelle, donc cette ultime solution est écartée.

    Donc la question est close faute d'arriver à mes fins automatiquement, cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire


    • Marqué comme réponse EhJoe jeudi 11 octobre 2012 05:59
    jeudi 11 octobre 2012 05:58

Toutes les réponses

  • Bonjour,

    Il n'existe pas de fonctionnalité de tel type dans Visual Studio.
    Ce que vous pouvez faire c'est sélectionner vos boutons dans le "désordre" et lors de l'opération "coller" ils seront dans l'ordre.

    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

    mercredi 10 octobre 2012 08:24
    Modérateur
  • Bonjour Gilles,

    Merci de ta réponse, mais ça ne marche pas mieux, si je colle trois objets identiques dans l'odre donc, puis que je les sélectionne dans n'importe quel ordre ils seront dans le désordre (enfin, dans l'ordre décroissant), alors que je les voudrais comme le modèle de la sélection, dans l'ordre croissant.

    Le problème est d'importance, j'attaque un loto 2012 (car ça vient encore de changer), et il y a désormais sur la grille (49 + 10) = 59 * 6 grilles = 300 boutons env, alors il est évident qu'il me les faut dans l'odre croissant.

    Il y a bien une déclaration logique au lieu de physique de possible, mais ce n'est pas pratique pour la mise en place qui est souvent un peu méticuleuse du fait qu'il faut trouver la possibilité de tout mettre, et il faut pas mal d'objets sur la grilles.

    Au plaisir, cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire


    mercredi 10 octobre 2012 09:15
  • Bonjour Joseph,

    Tu veux insérer des boutons par ordre ? sur le Form ?

    Ce que je te conseil, c'est d'ajouter un FlowLayoutPanel section Conteneurs de la boite à outils. Lors de tes copier/coller, ils vont se mettre dans l'ordre et se positionner automatiquement.

    C'est ce que tu souhaites ?

     

    Cordialement


    Merci de valider par "Proposer comme réponse" si celle-ci répond à votre demande !


    • Modifié Lyamine mercredi 10 octobre 2012 09:30
    mercredi 10 octobre 2012 09:29
  • Bonjour Lyamine,

    Déjà c'est sur la form que je veux les mettre, toutefois je viens d'essayer et ça ne fonctionne pas mieux, il me met tout dans l'ordre certes, mais dans l'ordre décroissant ; attention : l'ordre c'est le contenu de l'objet (pictureBox ayant une image(indexée)) ce n'est pas l'ordre de l'index, or il faut que les deux correspondent.

    Actuellement je change manuellement le nom de l'objet, ainsi je les remts dans l'odre de l'index, ayant déjà l'odre du contenu, j'en ai fait 4 rangs à la main, men reste plus que 2, je crois que je vais terminer comme ça, sauf...

    Au plaisir, cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire


    mercredi 10 octobre 2012 09:55
  • Dans ce cas je te conseil de les créer dynamiquement par code en utilisant le panel qui les positionnera.

    Merci de valider par "Proposer comme réponse" si celle-ci répond à votre demande !

    mercredi 10 octobre 2012 10:03
  • CLASSEMENT DE LA QUESTION

    Bonjour à tous, et merci de vos contributions.

    A priori je n'arrive pas à trouver de solution, alors je change les valeurs des boutons à la main.

    Pour ma part sur vbNet j'ai toujours constaté cette anomalie que je considère comme un bug, toutefois jusqu'à là elle n'était pas pénalisante car j'avais bien moins d'objets à remettre dans l'ordre.

    Rappel, sou vb6, si on faisait objet1 (o1=image1, o2=im2, o3=im3) puis qu'on faisait un copier/coller de ce groupe on avait : (o4=im1, o5=im2, o6=im3), tandis que vbNet va coller (o6=im1, o5=im2, o4=im3), certes l'ordre des images est conservé mais il n'est pas tenu compte de l'ordre des indexs puisqu'il sont inversés, ce qui devient ingérable quand on a plus de 350 objets, dans la mesure ou en oucle on ne peut guère gérer des indexs qui inversent leur ordre selon la recopie des originaux, il faut remettre tout à la main dans l'ordre croissant des index et de ce que contient leur objet si besoin...

    Peut être faut-il faire remonter cet anomalie en tant que bug à MST, je ne sais comment, je vais voir.

    Certes il reste la possibilité d'une déclaration virtuelle, mais après c'est bien plus compliqué de bien positionner les objets car ça oblige à retourner sans cesse au code, et quand il y a beaucoup d'objet sur une form la mise en place est méticuleuse, et bien plus performante si on peut intervenir directement de façon manuelle, donc cette ultime solution est écartée.

    Donc la question est close faute d'arriver à mes fins automatiquement, cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire


    • Marqué comme réponse EhJoe jeudi 11 octobre 2012 05:59
    jeudi 11 octobre 2012 05:58