public static void BuildForm(Control container, Questionaire questionaire, QuestionaireTemplate structure) { Control answerControl; if (questionaire.AnswerCount != structure.Count) { return; } var i = 0; var result = new Stack <Control>(); foreach (var question in structure) { result.Push(GenerateLabel(question.Text)); switch (question.Type) { case QuestionaireTemplate.QuestionType.TextQuestion: result.Push(GenerateTextBox(questionaire, i)); break; case QuestionaireTemplate.QuestionType.ChoiceQuestion: result.Push(GenerateNumBox(questionaire, i, 0, question.Info)); break; } i++; } container.Controls.AddRange(result.ToArray()); }
public AnswersForm(Questionaire questionaire, QuestionaireTemplate structure) { InitializeComponent(); this.loadedQuestionaire = questionaire; AnswerBuilder.BuildForm(this.answersLayout, this.loadedQuestionaire, structure); this.UpdateData(); }
public QuestionaireForm() { InitializeComponent(); try { var defaultQuestionairePath = Path.Combine( Path.GetDirectoryName(Application.), "defaultQuestionaire.xml" ); var reader = new StreamReader(defaultQuestionairePath); this.questionaireStructure = (QuestionaireTemplate) new XmlSerializer(typeof(QuestionaireTemplate)).Deserialize(reader); reader.Close(); } catch (Exception ex) { MessageBox.Show("Die Datei \"defaultQuestionaire.xml\" konnte nicht geladen werden. Stellen Sie sicher, dass die Datei im selben Ordner wie das Programm liegt.", "", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); } this.loadedQuestionaire = new Questionaire(this.questionaireStructure.Count); }