Visual Basic .Net:Images et Contrôles
Un article de WikiTuto.
Sommaire |
Définition
Là encore, il n'aura pas échappé à vos yeux de lynx qu'en mode design, un certain nombre de contrôles acceptent volontiers que leur fond soit constitué d'une image. C'est notamment le cas pour les Form et les Buttons, avec la propriété BackgroundImage.
Nous parlerons plus loin de la manière dont on peut affecter cette propriété par du code. En attendant, il faut dire quelques mots des contrôles dont le rôle spécifique est de contenir des images.
La classe ImageList
Il y a tout d'abord l'ImageList, dont nous avons déjà fait la connaissance. Je rappelle que ce contrôle :
- est un véritable tableau d'images, qui peut donc en contenir autant qu'on le souhaite.
- reste invisible lors de l'exécution, ainsi que toutes les images qu'il contient.
Il ne peut donc servir que de "réservoir à images" pour les autres contrôles, qui iront y puiser les images nécessaires au fur et à mesure de leurs besoins, durant l'exécution de l'application.
La classe PictureBox
Si l'on veut qu'à un endroit de la Form, se trouve telle ou telle image, alors il faut utiliser le contrôle adéquat, à savoir PictureBox. Celui-ci possède une propriété Image, qui indiquera son contenu. Le contrôle PictureBox prend en charge les principaux formats d'image : JPEG, GIF, Bitmap, métafichiers (WMF), icônes... Il ne gère pas, en revanche, les vidéos.
Une propriété notable des PictureBox est SizeMode. Celle-ci peut prendre quatre valeurs, qui modifieront les propriétés du contrôle et/ou de l'image dans le cas où ceux-ci ne possèdent pas les mêmes dimensions :
- aucun : ni le contrôle ni l'image ne changent de taille. Cela peut signifier que l'image sera rognée, et/ou que le contrôle débordera de l'image. L'image est alignée en haut à gauche du contrôle.
- stretch : l'image est automatiquement étirée afin que sa taille s'adapte à celle du contrôle qui la contient.
- autosize : la taille du contrôle est automatiquement adaptée à celle de l'image qu'il contient.
- centerimage : les tailles de l'image et du contrôle ne sont pas modifiées, mais l'image est centrée par rapport au contrôle.
Le contrôle PictureBox est incapable de gérer les images transparentes, quelle que soit la manière dont on s'y prend, et même si l'image qu'il contient est elle-même transparente.
Moralité, si l'on veut pouvoir gérer des images transparentes (et cela peut arriver plus souvent qu'on ne le croit), on sera obligé de faire appel à un autre contrôle que PictureBox.
Voir aussi
- Couleurs et Propriétés
- Images et Contrôles
- Gérer intelligemment les images
- méthodes graphiques
- Retour au sommaire
Source : Christophe Darmangeat



