/// <summary> /// Построение интерфейса /// </summary> public void Build(InterviewManipulator interviewManipulator, Quest quest, Answer answer, bool readOnly) { this.interviewManipulator = interviewManipulator; this.quest = quest; this.answer = answer; lbQuestTitle.Text = quest.Title; //очищаем панель альтернатив pnMain.Controls.Clear(); if (readOnly) { //строим ответы в режиме readonly BuildReadOnlyAnswerInterface(); } else { //строим альтернативы, в зависимости от типа вопроса switch (quest.QuestType) { case QuestType.SingleAnswer: BuildSingleAnswerInterface(); break; case QuestType.OpenQuestion: BuildOpenAnswerInterface(); break; } } }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); //создаем новую анкету anketa = new Anketa(); //запрашиваем опросник, если он не задан if (questionnaire == null) { var ofd = new OpenFileDialog() { Filter = @"Опросник|*.q", Title = @"Выберите опросник" }; if (ofd.ShowDialog(this) == DialogResult.OK) { questionnaire = SaverLoader.Load <Questionnaire>(ofd.FileName); } else { //если пользователь не выбрал опросник - просто завершаем приложение Close(); return; } } //создаем процесс опроса (интервью) interview = new Interview(questionnaire, anketa); //создаем манипулятор для интервью interviewManipulator = new InterviewManipulator(interview); //переходим к первому вопросу interviewManipulator.GoToNextQuestion(); //строим интерфейс Build(); }
/// <summary> /// Построение интерфейса /// </summary> public void Build(InterviewManipulator interviewManipulator, Quest quest, Answer answer, bool readOnly) { pnMain.Controls.Clear(); lbQuestTitle.Text = quest.Title; ConventionsWorker.Init(interviewManipulator, quest, answer, readOnly); }