Comment lier les conditions if avec un pictureBox ?

Signaler
-
Messages postés
15384
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 janvier 2021
-
Bonjour les amis
Ravi de vous retrouver. Enfait grâce à vos conseils si précieux j'ai pu génrer des questions en aléatoire. Tout d'abord, j'ai créé les questions sous forme d'images que je genère dans un pictureBox. Les questions s'apellent "quest1" à "quest 20" ppour 20 questions.
Voici le code que j'ai utilisé :

Dim questionaléatoire As Integer = Int(Rnd() * 20 + 1)
PictureBox25.Image = My.Resources.ResourceManager.GetObject("quest" & questionaléatoire)


Ok. Mais je voudrais maintenant associer à chaque question générée 4 réponses qui vont appraitre dans 4 labels juste en dessous de la question aléatoire. ceci pour permettre au joueur de choisir la bonne réponse. J'ai utilisé les conditions if pour le faire mais j'ai échoué. Prière m'aider dans ce sens en me proposant le code juste. Merci et à bientot.
Voici le code que j'ai utilisé :

If PictureBox25.Image=My.Resources.ResourceManager.GetObject("quest" & 1) Then
Label1.Text="Abel"
Label2.Text="Julien"
Label3.Text="Alain"
Label4.Text="Frederic"
End if


EDIT: Correctionde la coloration syntaxique.

2 réponses

Messages postés
15384
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 janvier 2021
499
Bonjour,
tu as réussi grâce à nous tant mieux, mais comme tu n'es pas un membre inscrit (au moins sur ce sujet), pas simple de savoir de quoi tu parles.....

De mon point de vue, quelque part il faut que tu stoques le lien entre la question et les réponses (base de données, xml, ini, etc...)
Ensuite tu décris une classe qui possede l'information de question et les informations de réponses.
Une collection de cette classe te servira pour ton programme.

Enfin comme ça sans savoir plus en avant de quoi tu parles.....
Bonjour Whismeril
je crois avoir été suffisamment clair pourtant. je suis sur VB.NET et j'ai généré des questions en aléatoire sous forme d'images que j'affiche dans une PictureBox. Grâce au code que j'ai laissé dans ma lettre, ça marche. Les questions sont bien générées aléatoirement. Mais maintenant j'aimerais que :
si la pictureBox affiche la question N°5 par exemple (qui est en effet une image) alors :
je veux que le label1, label2, 3 et 4 affichent les réponses correspondantes à cette question N°5

Merci de m'apporter les précisions necessaires sur ta suggestion car je ne la comprennd pas trop
Messages postés
15384
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 janvier 2021
499
Bonjour
car je ne la comprennd pas trop

comme ça on est 2, tu fais référence à d'autre questions que tu as posées ici sans mettre les liens en copie, donc déjà on ne sait pas de quoi tu parles.

J'ai bien compris que tu veux associer une image à 4 réponses (sans doute sous forme de texte (pas précisé non plus)) dans tes labels.

Pour ça il faut que quelque part (en dur dans ton programme, dans un fichier de configuration (si à l'avenir tu changes tes questions) dans une bases de données etc....) tu décrives le lien

Par exemple dans un fichier excel,
1 colonne le chemin de l'image, colonnes suivantes les réponses.

Ensuite tu pioches aléatoirement une ligne du fichier et il y a toutes les données dont tu as besoin.
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Salut
Pas trop compris
Dans ta resource tu as 20 images.
Pourquoi as tu besoin de 20 picturebox ?
tu affiches au joueur une seule image(une question) à la fois !
aussi en net
1)
Dim questionaléatoire As Integer = Int(Rnd() * 20 + 1)

devient
dim rdm as new random
'nombre aléotoire entre 1(inclus) et 20(inclus)
Dim questionaléatoire As Integer = rdm.next(1,21)


2)Pourquoi ne pas choisir un checklistbox control pour les réponses
le joueur coche sa réponse

3) Pourquoi ne pas conserver les questions dans un fichier text
que tu mets dans ta resource
et tu le charge dans une list of string
pour faciliter la tâche
dans un fichier txt (notepad) tu écris les réponses une par ligne
et ajoute une ,(virgule) à la fin de chaque ligne
toto,
titi,
etc

pour lire le fichier text
private listanswers as new list of(string)
listanswers = My.Resources.tonfichiertxt.Split(New Char() {Convert.ToChar(",")}, StringSplitOptions.RemoveEmptyEntries).ToList
Ok. Merci pour les précisions que je n'a pas l'air de bien comprendre pour le moment. Mais je vais me plonger dans le tuto concernant les listbox et je verrais si ça peut m'aider.

A bientot