2010-05-14 13 views
0

J'ai une imagebox où je change le BackgroundImage fréquemment. J'ai un BackgroundImageLayout mis à Zoom. Le problème est que lorsqu'une image n'a pas la même échelle que la zone d'image, l'image est dessinée au milieu. C'est-à-dire que le rembourrage supérieur et inférieur de l'image est toujours le même.C# winforms Imagebox, backgroundimage zoomé en haut?

Je voudrais que le BackgroundImage soit toujours aligné en haut. Quelle est la manière la plus facile et la plus efficace de faire cela?

Je peux ajouter que je télécharge les images à partir d'Internet. Si vous pensez que la meilleure façon de gérer cela est de les redimensionner à ce stade, je peux le faire :)

Répondre

1

De loin la solution la plus simple est de simplement changer la propriété Size de la boîte d'image afin que l'image puisse être dessiné sans rembourrage. L'implémentation de votre propre gestionnaire d'événements Paint est également possible, pas exactement nécessaire ici, je présume.

+0

Merci, a parfaitement fonctionné :) Mais n'est-ce pas très lent? –

+0

La modification de la taille provoque un événement Paint. Ce n'est pas un problème, la définition de la propriété BackgroundImage le fait également. Faites-le en même temps et vous n'en aurez qu'un. –