Générer Picturebox ?

Résolu
cs_ansizak Messages postés 191 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 30 juin 2011 - 30 mars 2008 à 16:20
cs_ansizak Messages postés 191 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 30 juin 2011 - 1 avril 2008 à 01:05
    Bonjour, je travaille sur un programme dans lequel un utilisateur doit pouvoir remplir un tableau de picturebox avec les images de son choix. Seulement il doit pouvoir définir la taille du "tableau de pictureBox", ma question est la suivante: comment générer dans le code un nombre défini de picturebox, et comment les indicer ?

Merci à vos.

Cordialement,
Anz.

8 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
1 avril 2008 à 00:32
Grace au Panel, les scrollbars sont gérés automatiquement :

List< PictureBox > pbs = new List< PictureBox >( 16 );



Panel p = new Panel( );
p.Dock = DockStyle.Fill;
p.AutoScroll = true;
p.Parent = this;


for ( int i = 0; i < 4; i++ )
{
    for ( int j = 0; j < 4; j++ )
    {
        PictureBox pb = new PictureBox( );
        pb.Parent = p; // Les PictureBox dans le Panel.
        pb.Size = new Size( 100, 100 );
        pb.Location = new Point( i * ( 100 + 5 ), j * ( 100 + 5 ) );
        pb.BorderStyle = BorderStyle.FixedSingle;
        pb.Click += delegate { MessageBox.Show( pbs.IndexOf( pb ).ToString( ) ); };
        pbs.Add( pb );
    }
}
3
cs_ansizak Messages postés 191 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 30 juin 2011
30 mars 2008 à 20:51
Pour être plus explicite, j'aimerais pouvoir générer une sorte de datagrid dont les cellules seraient des picture box, et dont l'utilisateur pourrait modifer les dimensions..

Est-ce possible ? :s

Cordialement
Anz.
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
31 mars 2008 à 18:23
Salut, tu as plusieurs possibilités, un tableau à 2 dimensions, une liste dynamique..  et pour lier la PictureBox à la forme, la propriété Parent ou Controls.Add etc..

List< PictureBox > pbs = new List< PictureBox >( 16 );


for ( int i = 0; i < 4; i++ )
{
    for ( int j = 0; j < 4; j++ )
    {
        PictureBox pb = new PictureBox( );
        pb.Parent = this;
        pb.Size = new Size( 100, 100 );
        pb.Location = new Point( i * ( 100 + 5 ), j * ( 100 + 5 ) );
        pb.BorderStyle = BorderStyle.FixedSingle;
        pb.Click += delegate { MessageBox.Show( pbs.IndexOf( pb ).ToString( ) ); };
        pbs.Add( pb );
    }
}
0
cs_ansizak Messages postés 191 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 30 juin 2011
31 mars 2008 à 19:46
Merci à toi c'est nikel :)

Cordialement,
Anz.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ansizak Messages postés 191 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 30 juin 2011
31 mars 2008 à 21:12
juste une question, je souhaitais pouvoir dispoer d'une scroll bar lorque les picture box sont plus nombreuses que la form ne peut en contenir. J'ai ajouté les picturebox dans une listview, mais pa de pictures box... aurais tu une idée ?

Cordialement
Anz
0
cs_ansizak Messages postés 191 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 30 juin 2011
31 mars 2008 à 21:42
Oups désolé de te harceler, :s , encore mais comment supprimer la liste ? j'ai essayé pbs.Removeall mais la pictureBox n'est pas declarée en public. Lorsqu'elle l'est je n'ai alors qu'une seule picturebox qui se créé..

Merci encore.

Anz
0
cs_ansizak Messages postés 191 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 30 juin 2011
31 mars 2008 à 22:26
bon pour la suppression j'ai trouvé ^^, mais la scrollbar, pas moyen :s
0
cs_ansizak Messages postés 191 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 30 juin 2011
1 avril 2008 à 01:05
Lutinore !! tu roxx :) merci à toi, bonne soirée

Cordialement, Anz
0
Rejoignez-nous