/// <summary> /// Добавить вопрос /// </summary> /// <param name="question">вопрос</param> public void AddQuestion(Question question) { if (question == null) throw new ArgumentException("Некорректный аргумент"); _questions.Add(question); }
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); } }
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); } }
/// <summary> /// Отображает вопрос для ответа на форме /// </summary> private void NextQuestion() { if (_questions.Count == 0) TestEnded(); else { _currentQuestion = _questions[0]; RefreshForm(); } }