示例#1
0
        /// <summary>
        /// Добавить вопрос
        /// </summary>
        /// <param name="question">вопрос</param>
        public void AddQuestion(Question question)
        {
            if (question == null)
                throw new ArgumentException("Некорректный аргумент");

            _questions.Add(question);
        }
示例#2
0
        private void FillAnswers(Question question, XmlNode nodes)
        {
            //Перебираем все ответы для вопроса
            foreach (XmlNode node in nodes.ChildNodes)
            {
                //Текст ответа
                string text = node.Attributes["Text"].Value; //Текст вопроса

                //Загружаем картинку, если она есть
                Image image = null;
                XmlNode n = node.Attributes.GetNamedItem("Image");
                if (n != null)
                    image = Image.FromFile(n.Value);

                //Создаём ответ
                Answer answer = new Answer(text, image);

                //Если ответ помечен как правильный, то устанавливаем его для вопроса
                XmlNode right = node.Attributes.GetNamedItem("IsRight");
                if (right != null)
                    question.SetRightAnswer(answer);

                //Добавляем ответ в вопрос
                question.AddAnswer(answer);
            }
        }
示例#3
0
        private void FillQuestions(Ticket ticket, XmlNode nodes)
        {
            //Перебираем все вопросы для билета
            foreach (XmlNode node in nodes.ChildNodes)
            {
                //Текст вопроса
                string text = node.Attributes["Text"].Value;

                //Подсказка
                string help = node.Attributes["Help"].Value;

                //Загружаем картинку, если она есть
                Image image = null;
                XmlNode n = node.Attributes.GetNamedItem("Image");
                if (n != null)
                    image = Image.FromFile(n.Value);

                //Создаём вопрос
                Question question = new Question(text, help, image);

                //Заполнить вопрос ответами
                FillAnswers(question, node);

                ticket.AddQuestion(question);
            }
        }
示例#4
0
 /// <summary>
 /// Отображает вопрос для ответа на форме
 /// </summary>
 private void NextQuestion()
 {
     if (_questions.Count == 0)
         TestEnded();
     else
     {
         _currentQuestion = _questions[0];
         RefreshForm();
     }
 }