Hallo zusammen,
also, es geht um folgendes: Für unsere Kleine möchte ich gerne ein Bilderrätsel erstellen um diverse Tiere, Bäume, Länder usw. besser zu lernen & zu erkennen.
Was möchte ich machen?
- Es soll ein Bild eingeblendet werden unter dem dann 4 RadioButtons angezeigt werden.
- Eine dieser 4 Möglichkeiten ist dann die richtige antwort. -> Also Radio Button anklicken, dann auf den Button "Prüfen"
- nachdem das Bild "richtig" erkannt wurde, soll ein neues Bild mit neuen Antworten angezeigt werden.
- Dann im Prinzip das gleiche von vorne
Was hab ich bereits?
- Das erste Bild wird beim öffnen der Form bereits geladen
- Nachdem es richtig beantwortet bzw. erkannt wurde wird das nächste Bild angezeigt.
- Das zweite Bild lade ich hiermit:
-Nach der Antwort wird der RadioButton wieder entfernt, d.h. er wird auf "unchecked" gesetzt.
Meine derzeitige Lösung:
- Ich erstelle für jedes Bild eine neue Form, lade diese nachdem der richtige RadioButton markiert war und auf Button1 geklickt wurde. Danach schließe ich die voran gegangene Form und lade das neue Bild beim laden der neuen Form mithilfe von
- Unfassbar mühsam bei mehr als 500 Bildern.
- Hab nach etwa 10 Bildern aus offensichtlichen Gründen aufgehört..
Wo liegt mein Problem / Was ist meine Frage?
- Wie kann ich jetzt z.b. Bild 3, Bild 4 usw. laden ohne jedes mal eine neue Form erstellen zu müssen?
- Muss ich jedes mal von Hand die RadioButtons neu benennen? Oder kann ich das irgendwie automatisiert machen? (Bei über 500 Bildern is es echt mühsam jedes mal den Text der RadioButtons anzupassen und eine neue Form zu erstellen.)
Jetzt hatte ich überlegt dass ich eine Art Liste (als Text-File und dann in "Resources") mache in der meinetwegen sowas steht wie
"PictureBox1.BackgroundImage = My.Resources._3 | Antwort 1 | Antwort 2 | Antwort 3 | Antwort 4 // Correct Answer = 3
wobei Antwort 1 = RadioButton1, Antwort 2 = RadioButton2, Antwort 3 = RadioButton3, Antwort 4 = RadioButton4
wenn das dann richtig beantwortet wurde soll automatisch in die nächste Zeile gesprungen werden (vermutlich "for each"?) und soll dann so aussehen:
"PictureBox1.BackgroundImage = My.Resources._4 | Antwort 1 | Antwort 2 | Antwort 3 | Antwort 4 // Correct Answer = 1
Also im Kopf hatte ich dann sowas wie (als Liste)
und als Code irgendwie sowas wie:
Dann zum beantworten der Frage bzw. zum erkennen des Bildes:
Hat da jemand vielleicht eine Idee wie man das umsetzen könnte? Ich zerbrech mir seit gestern früh den Kopf und weiß einfach nicht weiter.
Und evtl nach der 10ten richtigen Frage oder so eine MessageBox mit "Jetz hast du dir ne Kleinigkeit verdient" oder so
Danke euch schon mal, ich hoffe dass alles soweit halbwegs verständlich erklärt ist.
also, es geht um folgendes: Für unsere Kleine möchte ich gerne ein Bilderrätsel erstellen um diverse Tiere, Bäume, Länder usw. besser zu lernen & zu erkennen.
Was möchte ich machen?
- Es soll ein Bild eingeblendet werden unter dem dann 4 RadioButtons angezeigt werden.
- Eine dieser 4 Möglichkeiten ist dann die richtige antwort. -> Also Radio Button anklicken, dann auf den Button "Prüfen"
- nachdem das Bild "richtig" erkannt wurde, soll ein neues Bild mit neuen Antworten angezeigt werden.
- Dann im Prinzip das gleiche von vorne
Was hab ich bereits?
- Das erste Bild wird beim öffnen der Form bereits geladen
- Nachdem es richtig beantwortet bzw. erkannt wurde wird das nächste Bild angezeigt.
- Das zweite Bild lade ich hiermit:
VB.NET-Quellcode
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- If rdBtn1.Checked Then
- MsgBox("Richtig, das hast du sehr gut gemacht!", MsgBoxStyle.Information)
- PictureBox1.BackgroundImage = My.Resources._2
- rdBtn1.Checked = False
- Else
- MsgBox("Leider falsch! Wir wissen dass du die richtige Antwort kennst. Versuchs einfach noch mal.", MsgBoxStyle.Critical)
- End If
-Nach der Antwort wird der RadioButton wieder entfernt, d.h. er wird auf "unchecked" gesetzt.
Meine derzeitige Lösung:
- Ich erstelle für jedes Bild eine neue Form, lade diese nachdem der richtige RadioButton markiert war und auf Button1 geklickt wurde. Danach schließe ich die voran gegangene Form und lade das neue Bild beim laden der neuen Form mithilfe von
- Unfassbar mühsam bei mehr als 500 Bildern.
- Hab nach etwa 10 Bildern aus offensichtlichen Gründen aufgehört..
Wo liegt mein Problem / Was ist meine Frage?
- Wie kann ich jetzt z.b. Bild 3, Bild 4 usw. laden ohne jedes mal eine neue Form erstellen zu müssen?
- Muss ich jedes mal von Hand die RadioButtons neu benennen? Oder kann ich das irgendwie automatisiert machen? (Bei über 500 Bildern is es echt mühsam jedes mal den Text der RadioButtons anzupassen und eine neue Form zu erstellen.)
Jetzt hatte ich überlegt dass ich eine Art Liste (als Text-File und dann in "Resources") mache in der meinetwegen sowas steht wie
"PictureBox1.BackgroundImage = My.Resources._3 | Antwort 1 | Antwort 2 | Antwort 3 | Antwort 4 // Correct Answer = 3
wobei Antwort 1 = RadioButton1, Antwort 2 = RadioButton2, Antwort 3 = RadioButton3, Antwort 4 = RadioButton4
wenn das dann richtig beantwortet wurde soll automatisch in die nächste Zeile gesprungen werden (vermutlich "for each"?) und soll dann so aussehen:
"PictureBox1.BackgroundImage = My.Resources._4 | Antwort 1 | Antwort 2 | Antwort 3 | Antwort 4 // Correct Answer = 1
Also im Kopf hatte ich dann sowas wie (als Liste)
VB.NET-Quellcode
- PictureBox1.BackgroundImage = My.Resources._4 | Antwort 1 | Antwort 2 | Antwort 3 | Antwort 4 // Correct Answer = 1
- PictureBox1.BackgroundImage = My.Resources._5 | Antwort 1 | Antwort 2 | Antwort 3 | Antwort 4 // Correct Answer = 2
- PictureBox1.BackgroundImage = My.Resources._6 | Antwort 1 | Antwort 2 | Antwort 3 | Antwort 4 // Correct Answer = 4
- PictureBox1.BackgroundImage = My.Resources._7 | Antwort 1 | Antwort 2 | Antwort 3 | Antwort 4 // Correct Answer = 3
- PictureBox1.BackgroundImage = My.Resources._8 | Antwort 1 | Antwort 2 | Antwort 3 | Antwort 4 // Correct Answer = 2
und als Code irgendwie sowas wie:
Dann zum beantworten der Frage bzw. zum erkennen des Bildes:
VB.NET-Quellcode
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- If rdBtn.Checked with Correct Answer Then
- MsgBox("Richtig, das hast du sehr gut gemacht!", MsgBoxStyle.Information)
- load next Line / Picture from file
- rdBtn.Checked = False
- Else
- MsgBox("Leider falsch! Wir wissen dass du die richtige Antwort kennst. Versuchs einfach noch mal.", MsgBoxStyle.Critical)
- End If
Hat da jemand vielleicht eine Idee wie man das umsetzen könnte? Ich zerbrech mir seit gestern früh den Kopf und weiß einfach nicht weiter.
Und evtl nach der 10ten richtigen Frage oder so eine MessageBox mit "Jetz hast du dir ne Kleinigkeit verdient" oder so
Danke euch schon mal, ich hoffe dass alles soweit halbwegs verständlich erklärt ist.