IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Random / modulo [Débutant]


Sujet :

C#

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2014
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Random / modulo
    Bonjour !

    Cela fais une semaine que je cherche via un bouton next, changer d'affichage et obtenir mes images aléatoirements mais en gardant les images sélectionner en mémoire
    c'est a dire, lorsque je clique sur Next j'ai ma liste box qui disparait et les images sont afficher en aléatoire.

    J'ai ce bout de code mais je bloque sur la fin ...

    -> Pour être plus explicite : http://img11.hostingpics.net/pics/136805Sanstitre.png

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     for (int i = 0; i < nbImages; i++)
                {
                    int nb = myRandom.Next();
                    if (nb % 2 == 0)
                        tabPictureBox[i].BackColor = Color.Black;
                   else
                    {
                        nb %= 7; //nbImageDeMaBaseDeDonnee;    
                        tabPictureBox[i].Image;  // ici je bloque
                    }
                 }

  2. #2
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 640
    Points : 2 149
    Points
    2 149
    Par défaut
    Bonjour,

    que voudrais-tu faire a la fin exactement ? Changer l'image des PictureBox manuellement ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2014
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Lorsque je clique sur le bouton next ca, m'affiche aléatoirement les images (qui sont dans les picturebox) avec de cases vides.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,

    Tu places tes pictureBox sur des panel. Le BackColor des panel à Black. Les picturebox en visible=false.
    Tu places un timer sur la form avec la propriété intervel=500.

    Dans le code
    On utilise un dictionnaire de picturebox.
    Ici je l'ai alimenté en dur mais on peut le faire dynamiquement.
    Le clic sur le bouton démarre le timer (ou l'arrête s'il fonctionnait)
    Au déclenchement du timer on cache ou affiche les picturebox en fonction du modulo.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
            const int nbImages = 6;
            Dictionary<int, PictureBox> dicoIndicePic = new Dictionary<int, PictureBox>();
            Random random = new Random();
     
            private void btnNext_Click(object sender, EventArgs e)
            {
                timer1.Enabled = !timer1.Enabled; //démarre ou arrête le timer
            }
            private void timer1_Tick(object sender, EventArgs e)
            {
                for (int i = 0; i < nbImages; i++)
                {
                    dicoIndicePic[i].Visible = (random.Next(0, nbImages+1) % 2 == 0); // affiche ou cache les images.
                }
            }
     
            private void Form1_Load(object sender, EventArgs e)
            {
                dicoIndicePic.Add(0, pictureBox1);
                dicoIndicePic.Add(1, pictureBox2);
                dicoIndicePic.Add(2, pictureBox3);
                dicoIndicePic.Add(3, pictureBox4);
                dicoIndicePic.Add(4, pictureBox5);
                dicoIndicePic.Add(5, pictureBox6);
                dicoIndicePic.Add(6, pictureBox7);
            }
    [Edit] la gestion dynamique des picturebox et de la couleur de fond des panel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
            public void AddPictureBoxToDico()
            {
                int i = 0;
                foreach (Panel pan in this.Controls.OfType<Panel>())
                    foreach (PictureBox pb in pan.Controls.OfType<PictureBox>())
                {
                    dicoIndicePic.Add(i++, pb);
                }
            }
            public void CouleurPanel()
            {
                foreach (Panel pan in this.Controls.OfType<Panel>()) pan.BackColor = Color.Black; 
            }
            private void Form1_Load(object sender, EventArgs e)
            {
                AddPictureBoxToDico();
                CouleurPanel();
            }
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2014
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Très fort :0

    Mon panel je l'ai déjâ créer dynamiquement en-faite,
    mais le reste est intéressant, je prendrais le temps de voir ça ce soir.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2014
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Merci pour ton aide ! et désolé de donner des nouvelles un peu tard,
    Donc j'ai fais comme vous m'avez dit en changeant pas mal de chose pour l'adapter a mon code.

    comme ceci ->http://img15.hostingpics.net/pics/874441full.png
    puis ->http://img15.hostingpics.net/pics/219270alea.png


    Mais je trouve ça génial ^^ même si je galère un peu ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Random, Modulo et calcul décimaux
    Par Omion dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 02/01/2007, 19h24
  2. [langage] random sur liste ou tableau
    Par martijan dans le forum Langage
    Réponses: 2
    Dernier message: 15/07/2003, 14h47
  3. Modulo en Assembleur
    Par SteelBox dans le forum Assembleur
    Réponses: 10
    Dernier message: 07/04/2003, 22h49
  4. [VB6] : pour faire un Randomize sous vb... merci
    Par delnic dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 22/01/2003, 15h49
  5. Random en Assembleur
    Par funx dans le forum Assembleur
    Réponses: 9
    Dernier message: 02/09/2002, 17h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo