2010-09-01 7 views
4

J'ai une application de bureau en C sharp, dans laquelle je dois afficher les images sélectionnées en vue miniature (la vue sera quelque chose comme l'image jointe). L'image sélectionnée peut être désélectionnée à l'aide du bouton x (croix) affiché en haut de l'image. Quelqu'un peut-il me suggérer comment cela peut être accompli. J'ai vu cela accompli dans ASP .net. Mais je dois accomplir ceci en C#. Toute idée sera grandement appréciée.Affichage de la vignette des images sélectionnées dans une application de bureau en utilisant C Sharp

Cordialement,

alt text

+0

Quelle partie vous avez pro blem avec? – RedFilter

+0

montrant des images sélectionnées en une fois. –

Répondre

1

Vous pouvez générer les vignettes de la classe Image en .Net (Image.GetThumbnailImage). En ce qui concerne la disposition que vous montrez ici, vous pouvez utiliser un FlowLayoutPanel, ou un autre type de panneau (ou rouler le vôtre) qui ajouterait dynamiquement les images à votre formulaire. De là, vous pouvez mettre en évidence autour de l'image et ajouter votre bouton de contrôle X dans OnPaint, juste garder la trace de qui sont sélectionnés et qui ne sont pas via une classe de conteneur (ajouter les images à quelque chose comme un HashSet (.Net 3.5 ou supérieur) afin que vous puissiez rapidement les ajouter/les retirer de la collection, et l'itérer dans OnPaint

+0

Si vous combinez mon idée avec l'idée de VinayC, vous obtiendrez une solution assez pratique, créez un UserControl qui a le nom de l'image et un panneau d'image. Générez les vignettes à partir des fichiers sélectionnés et utilisez votre nouveau contrôle pour les afficher. Vous pouvez ajouter des propriétés pour indiquer si l'icône X doit apparaître ou non dans le contrôle, puis autoriser l'OnPaint du contrôle à gérer cette pièce. Vous pouvez ensuite utiliser un FlowLayoutPanel pour organiser automatiquement les images lorsque vous ajoutez d'autres contrôles d'affichage d'image au panneau. Si j'avais assez de réputation, je voterais le commentaire de VinayC, c'est une bonne idée. – pstrjds

1

Mon conseil sera de créer un contrôle personnalisé (ou contrôle utilisateur) qui encapsulera la vignette de l'image & son nom. & La croix peut être aussi simple qu'une autre image superposée sur une vignette (montrant/masquant l'événement de la souris sur) .Vous devez ensuite créer et mettre en place plusieurs instances de contrôle de la manière que vous voulez

Questions connexes