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 :

utilisation de PictureBox


Sujet :

C#

  1. #1
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut utilisation de PictureBox
    Salut
    en fait, je veux réaliser une application dans laquelle il y a une image en arrière plan puis je veux dessiner des carreaux dessus de telle sorte lorsque je clique sur l'un des carreaux un commentaire s'affiche.
    si vous avez des idées pour y parvenir je vous serai reconnaissant.
    merci d'avance.
    rien pour l'instant

  2. #2
    Membre confirmé Avatar de elbj
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Services à domicile

    Informations forums :
    Inscription : Novembre 2004
    Messages : 371
    Points : 558
    Points
    558
    Par défaut
    Bonsoir

    Une première idée qui me vient à l'esprit est de placer un Panel sur ta Form. Sur l'événement OnPaint de celui-ci tu récupère l'instance de Graphic et tu l'utilises pour dessiner l'image de fond et, éventuellement, dessiner ton cadrillage.

    Ensuite, sur l'événement OnClick du Panel tu récupères les coordonnées du point de click, à partir de là tu pourras déterminer quelle case a été clickée. Il ne te reste plus qu'à afficher le commentaire.

    Cordialement
    Christophe B.

  3. #3
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut
    Salut
    merci pour l'idée.
    En fait, j'ai mis le PictureBox sur un panel et dedans j'ai mis une image. je ne connais pas le nombre de carreaux que je doit dessiner car il augmente au fur et à mesure qu'un événement survient. Donc je ne peux le faire en se basant sur les coordonnées. je me demande bien si je peux par exemple instencier des objet dont le nombre variable et en même temps déclarer de événement sur tous ces objets ( ça peut paraitre bizarre mais en ne sait jamais)
    rien pour l'instant

  4. #4
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut
    salut
    est ce qu'il y a par hasard d'autres idées
    rien pour l'instant

  5. #5
    Membre confirmé Avatar de elbj
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Services à domicile

    Informations forums :
    Inscription : Novembre 2004
    Messages : 371
    Points : 558
    Points
    558
    Par défaut
    Je n'ai pas assez d'éléments pour bien comprendre ce que tu souhaites faire exactement. N'hésite pas à donner plus de détails afin que je puisse t'aider.

    +++
    Christophe B.

  6. #6
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut
    Salut
    j'ai un Picturebox qui contient une image, et j'ai une liste de coordonnées sur ce Picturebox ainsi que des informations relatives à chaque position, donc je veux mettre un dessin ( point par exemple) à chaque position et quand je passe le curseur de la souris ou je clique sur l'un de ces points je jeux afficher les information concernant ce point, en plus je ne connais pas le nombre de points car il est variable selon les entrée de l'application.
    j'espère que j'ai bien expliqué mon problème et merci
    rien pour l'instant

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 50
    Points : 31
    Points
    31
    Par défaut
    je suis pas certain de bien comprendre ce que tu veux faire, mais tu peux stocker tes coordonées dans une liste par exemple :

    List<Coordinates> coordList = new List<Coordinates>();
    coordList.Add(Coordinates.X = e.X) etc etc

    ensuite si lors que tu cliques, le e.X et e.Y de relatif à ton click est dans ta liste tu peux ensuite afficher un commentaire etc etc

    je sais pas si c'est ce que tu souhaites ( je ne suis pas certain de la performance !!!)

    bon courage à toi

  8. #8
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut
    Salut
    j'ai déjà réfléchit dans ce sens mais les problème qui se posent sont le fait que le nombre de point et indéterminé car il est relié au nombre d'événements qui se produisent d'autant plus même si je clique à proximité de l'un de ces point il faut que le commentaire s'affiche (car chaque point sera représenté par un carré ou un dessin par exemple donc le commentaire s'affiche lorsque je clique dans l'une de ces zones)
    rien pour l'instant

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 50
    Points : 31
    Points
    31
    Par défaut
    désolé je ne comprend pas trop ce que tu veux faire en fait

    est ce quelque chose comme ça ?
    http://blog.developpez.com/index.php...n_cli#more5381

    si ce n'est pas le cas, peut comme dans l'exemple ci dessus faire un dessin simple expliquant ton besoin et vers quelle direction tu souhaites aller stp ?
    par avance merci

  10. #10
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut
    Salut
    Désolé pour l'ambiguïté, je vais vous l'expliquer avec un exemple:
    Dans un PictureBox j'ai mis une carte, et j'ai repéré certain endroits en dessinant des carreaux. Alors quand je clique sur l'un de ces carreaux, il faut que des informations relatives à cet endroit s'affichent.
    J'espère être claire.
    rien pour l'instant

  11. #11
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut
    Salut
    je ne sais pas si j'étais clair ou non, donc si vous voulez plus d'explications je serai toujours là
    rien pour l'instant

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 50
    Points : 31
    Points
    31
    Par défaut
    bonjour

    dans la mesure ou tu dispose des informations à afficher, tu créé une paire <coordonnées, commentaire>
    et si mon EvenementClick.x && EvenementClick.y fait partie d'une des zones définie dans la liste alors je prend le commentaire associé à cette zone

    non ?

  13. #13
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut
    Salut
    Le problème est que le nombre de points est variable car je les reçois à partir d'un serveur distant, et donc si je parcours la liste à chaque fois que je clique sur la carte ça va alourdir le programme.
    est ce que je peux par exemple mettre d'autres PictureBox dynamiquement sur les zone que je veux et lier un événement à chacune d'entre eux.
    rien pour l'instant

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 50
    Points : 31
    Points
    31
    Par défaut
    Bonjour

    mettre d'autre dynamiquement dessus ? :o c'est pas plus lourd ?
    l'histoire des points envoyés depuis le server est un peu bancale :o à moins que ce soit envoyé une fois par jour ?

  15. #15
    Membre éprouvé Avatar de cs_ntd
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2006
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 598
    Points : 1 214
    Points
    1 214
    Par défaut
    Bonjour,

    je m'avance peut être un peu mais d'après la description de ton problème archer, tu est obligé de stocker quelque part tes données relatives aux coordonnées et aux commentaires, que ce soit dans une base de données ou non.

    Si tu veut obtenir en temps réel les infos concernant les endroits où est ta souris, je ne vois pas d'autre moyens que de parcourir ta base de données pour obtenir les informations, que tu rajoute des pictures box ou non... car comme tu le dit le nombre de tes points est inconnu.

    La solution (pour moi) est de trouver l'algo qui te permettra de limiter le nombre d'accès à ta base de données.

    En espérant avoir fait avancer le problème...

    The magic of Opera, La magie de l'Opera
    The mysteries of Space Opera, Les mystères de l'Opera Spatial
    Mr. Know-it-all, M. Je-Sais-Tout
    Prelude in C sharp minor, the most beautiful piano song and the best C sharp prelude ever, Prélude en do dièse mineur, le plus beau morceau de piano et le meilleur prélude au C#
    The Mesmerizing Saphir Division for Nerds, L'Hypnotisante Division Saphire pour les Nerds (HDSN)

  16. #16
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut
    Salut
    En fait je vais utiliser une base de données pour stocker les coordonnées ainsi que les commentaires, mais parcourir tout le tableau va rendre l'application extrêmement lente surtout qu'elle est destinée pour les PDAs, donc ce que je retient comme solution pour le moment c'est de diviser la carte en plusieurs zones avec des identifiants, les coordonnées seront enregistrer dans la base de données avec l'identifiant de la zone à la quelle ile appartient et donc lorsque je clique sur un point je ne vais charger que les coordonnées de la zone où je vient de cliquer.
    s'il y a d'autre idées je serai toujours à l'écoute.
    rien pour l'instant

  17. #17
    Membre éprouvé Avatar de cs_ntd
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2006
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 598
    Points : 1 214
    Points
    1 214
    Par défaut
    Salut

    Je ne connais pas trop les bases de données, donc je ne sait pas si cela peut marcher, mais voila ce que tu peut faire : tu trie ta base de données par rapport aux coordonnées X par exemple, puis tu teste si le X des coordonnées de ton click est dans la première moitié de ta base de données (tu peut répéter l'opération avec les moitiés de moitiés etc...), ce qui fait que tu divise le nombre de tests par 2 et tu ne charge que la partie de ta base de données sélectionnées au final...
    (Je ne sait pas si c'est très clair...)

    Bon courage pour ton appli

    The magic of Opera, La magie de l'Opera
    The mysteries of Space Opera, Les mystères de l'Opera Spatial
    Mr. Know-it-all, M. Je-Sais-Tout
    Prelude in C sharp minor, the most beautiful piano song and the best C sharp prelude ever, Prélude en do dièse mineur, le plus beau morceau de piano et le meilleur prélude au C#
    The Mesmerizing Saphir Division for Nerds, L'Hypnotisante Division Saphire pour les Nerds (HDSN)

  18. #18
    Membre habitué Avatar de archer
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    338
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 338
    Points : 180
    Points
    180
    Par défaut
    Merci beaucoup.
    rien pour l'instant

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

Discussions similaires

  1. [Débutant] utilisation de picturebox
    Par souhira dans le forum Windows Forms
    Réponses: 0
    Dernier message: 20/03/2014, 14h30
  2. Utiliser les threads et picturebox
    Par Lusitanos67 dans le forum VB.NET
    Réponses: 4
    Dernier message: 05/11/2010, 13h51
  3. Utilisation de PictureBox
    Par DD339 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 04/12/2006, 07h42
  4. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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