Example #1
0
        /// <summary>
        /// Построение интерфейса для опросника
        /// </summary>
        public void Build()
        {
            //создаем хелпер отрисовки, останавливаем отрисовку
            var helper = new ControlHelper(pnAnswers);

            //очищаем панель ответов
            pnAnswers.Controls.Clear();

            //отображаем уже отвеченные вопросы
            foreach (var answer in interview.PassedAnswers)
            {
                //создаем панель ответа
                var pn = new AnswerPanel();
                //строим
                pn.Build(interviewManipulator, questionnaire.First(q => q.Id == answer.QuestId), answer, true);
                //добавляем на форму
                pn.Parent = pnAnswers;
            }

            //отображаем вопрос, на который нужно ответить
            if (interview.CurrentAnswer != null)
            {
                //создаем панель ответа
                var pn = new AnswerPanel();
                //строим
                pn.Build(interviewManipulator, questionnaire.First(q => q.Id == interview.CurrentAnswer.QuestId), interview.CurrentAnswer, false);
                //добавляем на форму
                pn.Parent = pnAnswers;
            }

            //настриваем видимость кнопок
            btBack.Parent   = interview.PassedAnswers.Count > 0 ? pnAnswers : null;
            btNext.Parent   = interview.IsFinished ? null : pnAnswers;
            btFinish.Parent = interview.IsFinished ? pnAnswers : null;

            //восстанавливаем отрисовку
            helper.ResumeDrawing();
        }
Example #2
0
        private void ProcessQuestionListAction(string questionPanelKey, UserPanelActionType actionType)
        {
            _changed = true;//выставлем флажок изменения

            if (actionType == UserPanelActionType.Add)
            {
                var question2Add = _questionnaire.First(q => q.Id.Equals(questionPanelKey));
                AddQuestion2Interface(question2Add);
                return;//Дальше делать нечего
            }

            //создаем хелпер отрисовки, останавливаем отрисовку
            FlowPanelActionHelper.ProcessElements(questionPanelKey, actionType);
        }