Comment afficher une icône à une résolution 48x48 sur un formulaire dans vb.net? J'ai regardé en utilisant l'imagelist, mais je ne sais pas comment afficher l'image que j'ajoute à la liste en utilisant du code et comment spécifier ses coordonnées sur le formulaire. J'ai fait des recherches sur google mais aucun des exemples ne montre vraiment ce que j'ai besoin de savoir.Afficher l'icône sur le formulaire dans vb.net
Répondre
Le ImageList n'est pas idéal lorsque vous avez des formats d'image supportant la transparence alpha (à au moins, c'était le cas, je ne les ai pas beaucoup utilisé récemment), donc vous êtes probablement mieux f chargement de l'icône à partir d'un fichier sur le disque ou d'une ressource. Si vous chargez à partir du disque, vous pouvez utiliser cette approche:
' Function for loading the icon from disk in 48x48 size '
Private Function LoadIconFromFile(ByVal fileName As String) As Icon
Return New Icon(fileName, New Size(48, 48))
End Function
' code for loading the icon into a PictureBox '
Dim theIcon As Icon = LoadIconFromFile("C:\path\file.ico")
pbIcon.Image = theIcon.ToBitmap()
theIcon.Dispose()
' code for drawing the icon on the form, at x=20, y=20 '
Dim g As Graphics = Me.CreateGraphics()
Dim theIcon As Icon = LoadIconFromFile("C:\path\file.ico")
g.DrawIcon(theIcon, 20, 20)
g.Dispose()
theIcon.Dispose()
Mise à jour: si vous voulez au lieu d'avoir l'icône comme une ressource intégrée dans votre assemblée, vous pouvez modifier la méthode LoadIconFromFile afin qu'il ressemble à ce lieu :
Private Function LoadIconFromFile(ByVal fileName As String) As Icon
Dim result As Icon
Dim assembly As System.Reflection.Assembly = Me.GetType().Assembly
Dim stream As System.IO.Stream = assembly.GetManifestResourceStream((assembly.GetName().Name & ".file.ico"))
result = New Icon(stream, New Size(48, 48))
stream.Dispose()
Return result
End Function
Vous souhaitez un contrôle de zone de stockage pour placer l'image sur le formulaire.
Vous pouvez ensuite définir la propriété Image sur l'image que vous souhaitez afficher, que ce soit à partir d'un fichier sur le disque, d'une liste d'images ou d'un fichier de ressources.
En supposant que vous avez un picturebox appelé pct:
pct.Image = Image.FromFile("c:\Image_Name.jpg") 'file on disk
ou
pct.Image = My.Resources.Image_Name 'project resources
ou
pct.Image = imagelist.image(0) 'imagelist
Me.Icon = Icon.FromHandle(DirectCast(ImgLs_ICONS.Images(0), Bitmap).GetHicon())
Bienvenue dans Stack Overflow. S'il vous plaît élaborer votre réponse –
Votre poste fonctionne très bien pour moi! Thx – RicardoBalda
Ceci est vraiment inutile. Une ligne sans rien expliqué et le code donne des erreurs de syntaxe dans Visual Basic. Sommes-nous censés lire dans votre esprit pour utiliser cette réponse? (-1) – thebunnyrules
Vous pouvez utiliser un contrôle d'étiquette pour faire la même chose. J'en ai utilisé un pour dessiner un point sur une image dans un contrôle de la boîte à images. Il pourrait être moins lourd que d'utiliser un PictureBox.
Dim label As Label = New Label()
label.Size = My.Resources.DefectDot.Size
label.Image = My.Resources.DefectDot ' Already an image so don't need ToBitmap
label.Location = New Point(40, 40)
DefectPictureBox.Controls.Add(label)
L'utilisation de la méthode OnPaint pourrait être le meilleur moyen de le faire.
Private Sub DefectPictureBox_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles DefectPictureBox.Paint
e.Graphics.DrawIcon(My.Resources.MyDot, 20, 20)
End Sub
- 1. insertion d'une image distante sur un formulaire Windows dans vb.net?
- 2. Comment afficher le formulaire de connexion html sur Trac?
- 3. Formulaire VB.NET Hauteur Question
- 4. Contrôle sans un formulaire dans VB.NET
- 5. comment appeler le formulaire Web dans vb.net en utilisant (asp.net)
- 6. Redimensionnement du formulaire d'animation dans VB.NET
- 7. Ouverture d'une application dans un formulaire - C# ou VB.NET
- 8. afficher/formulaire cacher lorsque le curseur est dans le coin supérieur gauche
- 9. Comment afficher une chaîne, basée sur le nombre dans un formulaire avec JavaScript
- 10. Comment afficher joliment le temps relatif en utilisant VB.NET?
- 11. formulaire de sélection de pixel winform vb.net
- 12. override formulaire nom de masterpage vb.net
- 13. Afficher un nouveau formulaire basé sur les données GridView
- 14. Obtenir le widget formulaire Django 'SelectDateWidget' pour afficher l'option 'Vide'
- 15. JavaScript sur le formulaire Envoyer
- 16. Formulaire transparent sur le bureau
- 17. Besoin d'IntPtr pour un formulaire (VB.Net)
- 18. Panneau de contrôle sur le contenu dans le formulaire
- 19. Tapez le texte dans une position arbitraire sur le formulaire
- 20. VB.NET - Comment masquer un formulaire dans une opération inter-thread
- 21. Afficher un div masqué sur le rechargement après le bouton submit_form cliquez sur
- 22. Afficher un formulaire d'une page Web
- 23. Sélectionnez Case sur le type d'un objet dans VB.NET
- 24. Afficher/Masquer ContextMenuStrip en dehors du formulaire
- 25. Comment identifier le contrôle dans lequel je suis (vb.net cf)
- 26. Le plugin jVal JQuery manque d'espace sur le formulaire
- 27. WebBrowser.Refresh problème dans VB.Net
- 28. Affichage d'images dans vb.net
- 29. VB.NET - Cliquez sur le bouton Envoyer sur la page Webbrowser
- 30. Supprimer l'espace après le formulaire dans IE8
Merci, votre méthode picturebox a parfaitement fonctionné. – MaQleod