Générer Picturebox ?

Résolu
Signaler
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011
-
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011
-
    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

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
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 );
    }
}
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011

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.
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
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 );
    }
}
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011

Merci à toi c'est nikel :)

Cordialement,
Anz.
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011

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
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011

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
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011

bon pour la suppression j'ai trouvé ^^, mais la scrollbar, pas moyen :s
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011

Lutinore !! tu roxx :) merci à toi, bonne soirée

Cordialement, Anz