Exemple #1
0
        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());
        }
Exemple #2
0
        public AnswersForm(Questionaire questionaire, QuestionaireTemplate structure)
        {
            InitializeComponent();
            this.loadedQuestionaire = questionaire;

            AnswerBuilder.BuildForm(this.answersLayout, this.loadedQuestionaire, structure);
            this.UpdateData();
        }
Exemple #3
0
        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);
        }