none
Insérer formes supprimables dans un PictureBox RRS feed

  • Question

  • Bonjour,

    Au sein de mon application j'ai créé une picturebox dans laquelle j'ai inséré une image (un plan de maison), sur laquelle (composant graphic de la picturebox) je dois par la suite ajouter graphiquement les emplacements de plusieurs capteurs (sous forme de Rectangle vert par exemple). Ces capteurs sont ajoutés par clique sur l'image au fur et à mesure de la vie de l'application (via une commande d'ajout) et peuvent être supprimés n'importe quand par simple clique sur une autre commande (sans pour autant affecter les autres).

    N'ayant pas trouvé de solutions qui me convenaient sur internet, je pensais à 2 solutions : 

    - soit créer un tableau de tous les rectangles à afficher, et à chaque suppression/ajout de rectangle dans ce tableau, l'image de la picturebox est supprimée et mise à jour.

    - soit créer par dessus la picturebox un "layer" (sous forme de panel ? ) pour chaque rectangle qui serait au premier plan/l'image de la picturebox. Ainsi il me suffira de supprimer le "layer" relatif au rectangle à supprimer pour mettre à jour ma carte.

    Existe ils de meilleures solutions ? Si non, comment puis-je créer des "layers" par dessus ma picture box ? 

    Merci de vos réponses,

    Vincent P.

    dimanche 11 mars 2012 14:18

Réponses

  • Bonjour,

    Les "layers" pourraient être des bitmaps qui sont superposés les uns aux autres avec un fond transparent pour produire le bitmap final. Les deux approches ne sont pas forcément exclusives : garder les rectangles (ou autres primitives) permet de redessiner un layer modifié, garder le bitmap permet de réutiliser un layer inchangé sans rien retracer de ce layer en particulier.

    Pour un prochain projet essayer de voir aussi comment fonctionne WPF par rapport à Windows Forms. Le principe est que tout ce qui s'affiche à l'écran (dont les primivites vectorielles, rectangles, ellipses, polygones...) sont des contrôles. Il est donc très facile d'ajouter ou supprimer des primitives graphiques (en gros c'est le principe précédent mais c'est géré par WPF).


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

    dimanche 11 mars 2012 16:34
    Modérateur
  • Je n'y pensais plus mais voir également peut-être du côté du "PowerPack" qui fournit notamment un contrôle Rectangle :

    http://msdn.microsoft.com/fr-fr/library/microsoft.visualbasic.powerpacks.rectangleshape.aspx


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

    lundi 12 mars 2012 12:15
    Modérateur

Toutes les réponses