Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Scroll sur picturebox

7 réponses
Avatar
John-Pet
Bonsoir

Peux t'on bouger l'image dans une picturebox en bougeant les scrollbars
de celle ci avec les flêches du pavé numérique

merci
JP

--
Adresse mail : john-pet@wanadoo.fr
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net

7 réponses

Avatar
Bonjour John,

Pas directement à ma connaissance,

Mais tu peux toujours utiliser la propriété SizeMode
Me.PictureBox1.SizeMode = PictureBoxSizeMode.AutoSize

Me.PictureBox1.SizeMode = PictureBoxSizeMode.CenterImage

Me.PictureBox1.SizeMode = PictureBoxSizeMode.Normal

Me.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage

Me.PictureBox1.SizeMode = PictureBoxSizeMode.Zoom



Ou alors il y a peut-être moyen de mettre ton PictureBox dans 1 container
qui peut avoir des ScrollBars.



Stéphane


"John-Pet" a écrit dans le message de news:

Bonsoir

Peux t'on bouger l'image dans une picturebox en bougeant les scrollbars de
celle ci avec les flêches du pavé numérique

merci
JP

--
Adresse mail :
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net




Avatar
Jérémy Jeanson
Bonjour John et Stéphane,

Je confirme ce que dit Stéphane, il n'existe pas de méthode directe pour
faire ce que demande John. Et l'astuce qui consiste à mettre un
PicturBox dans une série de conteneur.

Voici une procédure qui va te pemettre d'avoir ta picturebox avec son
image centrée et dans le cas où elle est trop grande affichera des scroll :

- prendre un PictureBox (PictureBox1)
- mettre PictureBox1.SizeMode sur Autosize.
- ajouter un Panel (Panel1) et mettre dedans la PictureBox.
- mettre PictureBox1.Location à 0;0.
- mettre Panel1.AutoSize = true.
- ajouter un second Panel (Panel2) et mettre dedans Panal1.
- mettre Panel1.Location à 0;0.
- mettre Panel2.AutoScrool = true.
(à partir de ce moment on a déjà une image qui peut utiliser les scroll
si elle est trop grande)
- ajouter un TableLayoutPanel (TableLayoutPanel1) avec une seule cellule
et mettre dedans Panel2.
- mettre Panel2.AutoSize = true.
- mettre Panel2.Anchor = none.

et là miracle ça marche tout seul ;)

ton image est centrée quoi qu'il arrive et si elle est plus grande que
ce qu'il faut tu as des scroll!
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Avatar
Il est trop fort ce Jérémy !

Je me garde ca de côté, ca pourra certainement servir 1 jour ou l'autre.

Stéphane

et mettre dedans Panal1.


D'ailleurs, on dit 1 panal, des panaux !


"Jérémy Jeanson" a écrit dans le message de news:

Bonjour John et Stéphane,

Je confirme ce que dit Stéphane, il n'existe pas de méthode directe pour
faire ce que demande John. Et l'astuce qui consiste à mettre un PicturBox
dans une série de conteneur.

Voici une procédure qui va te pemettre d'avoir ta picturebox avec son
image centrée et dans le cas où elle est trop grande affichera des scroll
:

- prendre un PictureBox (PictureBox1)
- mettre PictureBox1.SizeMode sur Autosize.
- ajouter un Panel (Panel1) et mettre dedans la PictureBox.
- mettre PictureBox1.Location à 0;0.
- mettre Panel1.AutoSize = true.
- ajouter un second Panel (Panel2) et mettre dedans Panal1.
- mettre Panel1.Location à 0;0.
- mettre Panel2.AutoScrool = true.
(à partir de ce moment on a déjà une image qui peut utiliser les scroll si
elle est trop grande)
- ajouter un TableLayoutPanel (TableLayoutPanel1) avec une seule cellule
et mettre dedans Panel2.
- mettre Panel2.AutoSize = true.
- mettre Panel2.Anchor = none.

et là miracle ça marche tout seul ;)

ton image est centrée quoi qu'il arrive et si elle est plus grande que ce
qu'il faut tu as des scroll!
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr


Avatar
Jérémy Jeanson
Merci pour le compliment Stéphane.

> >et mettre dedans Panal1.
> D'ailleurs, on dit 1 panal, des panaux !

Et effectivement le cerveau peut faire de ces choses, mdr. Peut être
était se aussi pour dire qu'il n'était pas banAl ces panEls pelle-melle ;)
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Avatar
John-Pet
merci

Oui, j'avais oublié de dire que ma picturebox était dans un panel
mais qu'un je n'ai pas imbriqué dans un 2 ieme panel et
tablelayoutpanel

d'ailleur pourquoi cette 2 panel et tablelayoutpanek ,
avec un panel et picturebox les scrolls fonctionne avec la souris

je que je cherche c'est de les bouger avec les fleches du pave
numerique et la cela ne focntionne pas, même avec ta façon de faie cela
ne fonctionne pas ou alors j'ai loupé un truc

JP


Jérémy Jeanson avait écrit le 12/02/2009 :
Bonjour John et Stéphane,

Je confirme ce que dit Stéphane, il n'existe pas de méthode directe pour
faire ce que demande John. Et l'astuce qui consiste à mettre un PicturBox
dans une série de conteneur.

Voici une procédure qui va te pemettre d'avoir ta picturebox avec son image
centrée et dans le cas où elle est trop grande affichera des scroll :

- prendre un PictureBox (PictureBox1)
- mettre PictureBox1.SizeMode sur Autosize.
- ajouter un Panel (Panel1) et mettre dedans la PictureBox.
- mettre PictureBox1.Location à 0;0.
- mettre Panel1.AutoSize = true.
- ajouter un second Panel (Panel2) et mettre dedans Panal1.
- mettre Panel1.Location à 0;0.
- mettre Panel2.AutoScrool = true.
(à partir de ce moment on a déjà une image qui peut utiliser les scroll si
elle est trop grande)
- ajouter un TableLayoutPanel (TableLayoutPanel1) avec une seule cellule et
mettre dedans Panel2.
- mettre Panel2.AutoSize = true.
- mettre Panel2.Anchor = none.

et là miracle ça marche tout seul ;)

ton image est centrée quoi qu'il arrive et si elle est plus grande que ce
qu'il faut tu as des scroll!



--
Adresse mail :
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Avatar
Jérémy Jeanson
Bonjour JP,

>> d'ailleur pourquoi cette 2 panel et tablelayoutpanek ,
>> avec un panel et picturebox les scrolls fonctionne avec la souris

Oui les scrolls fonctionnent avec la souris si on n'utilise qu'un panel,
mais dans le cas où l'image est plus petite que le panel on se retrouve
avec une image dans un coin en haut. C'est pourquoi je t'ai écris ce
petit tutoriel qui donne un rendu un peu plus esthétique.

Pour ce qui est du mouvement via le clavier, c'est malheureusement comme
ça, même en utilisant la propriété TabStop, il est impossible de
manipuler ces scrolls via le clavier.

Si tu veux obtenir ce genre de solution, il n'y a pas de secret... il te
faudra tout coder à la main et utiliser les controls HScrollBar et
VScrollBar. Rien de très compliqué mais il va te falloir faire les
calculs pour les bornes maximums, les pas de déplacement et intercepter
la frappe du clavier quand ton panel à le focus pour provoquer le mouvement.

Bon code ;)
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Avatar
John-Pet
Merci pour les réponses

c'est comme cela que j'avais codé en VBD avec un hs et vsscroll
je me disais qu'en vb net on pourrais le faire direct, ben non

JP


dans son message précédent, Jérémy Jeanson a écrit :
Bonjour JP,

>> d'ailleur pourquoi cette 2 panel et tablelayoutpanek ,
>> avec un panel et picturebox les scrolls fonctionne avec la souris

Oui les scrolls fonctionnent avec la souris si on n'utilise qu'un panel, mais
dans le cas où l'image est plus petite que le panel on se retrouve avec une
image dans un coin en haut. C'est pourquoi je t'ai écris ce petit tutoriel
qui donne un rendu un peu plus esthétique.

Pour ce qui est du mouvement via le clavier, c'est malheureusement comme ça,
même en utilisant la propriété TabStop, il est impossible de manipuler ces
scrolls via le clavier.

Si tu veux obtenir ce genre de solution, il n'y a pas de secret... il te
faudra tout coder à la main et utiliser les controls HScrollBar et
VScrollBar. Rien de très compliqué mais il va te falloir faire les calculs
pour les bornes maximums, les pas de déplacement et intercepter la frappe du
clavier quand ton panel à le focus pour provoquer le mouvement.

Bon code ;)



--
Adresse mail :
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net