Autor Beitrag
FLojo
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Sa 19.05.12 11:08 
Hallo,

ich hoffe ich bin hier richtig. Ich möchte in C# ein Quiz mit mehreren Fragen erstellen. Nun habe ich auf der Form die erste Frage mit Antworten zum anklicken. Wenn ich jetzt zur nächsten Frage kommen will muss ich dann eine neue Form erstellen auf die ich dann mit einem klick auf einen Button komme oder geht das auch anders?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4796
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Sa 19.05.12 11:39 
Hallo FLojo :welcome:

wieweit beherrscht du denn schon die Grundlagen von C# (Datentypen, Arrays, etc.)?
Deine Frage liest sich so, als ob du die Texte (Frage + Antworten) direkt in die Oberfläche (Zuweisung der Eigenschaft 'Text' direkt über die IDE) erstellt hast?

Viel besser wäre es, du erstellst dir eine Datenstruktur für deine Fragen und Antworten und erstellst daraus ein Array.
Dann brauchst du nur noch in der Form die Texte per Code zuweisen, z.B. schematisch so
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
class QuestionAndAnswers // <- vllt. fällt dir hier ein besserer Name ein ;-)
{  
  public string Question { get; set; }
  public string[] Answers { get; set; } 
  public int CorrectAnswer { get; set; }
}

List<QuestionAndAnswers> Questions = new List<QuestionAndAnswers>()
{
  // ...
}

// im Form-Code 
int index = 0// Index für den Zugriff auf das Array
QuestionAndAnswers question = Questions[index];

textBoxQuestion.Text = question.Text;
radioButtonAnswer1 = question.Answers[0];
radioButtonAnswer2 = question.Answers[1];
radioButtonAnswer3 = question.Answers[2];

// ...

So brauchst du dann nur den index ändern (z.B. per Zufall mit der Klasse Random oder aber jedesmal hochzählen oder ...) und du benötigst nur eine Form dazu (und der Code würde auch gleichbleiben).

Solltest du den Code nicht verstehen, so arbeite am besten zuerst ein Buch durch, z.B. das Open-Book Visual C# (2008) - dieses behandelt noch WinForms (im Gegensatz zum neueren Buch Visual C# 2010, welches WPF behandelt).