Beispiel #1
0
        private void Show_Question()
        {
            ClassQuestion question = listQuestion[currentNumber - 1]; //Объект-текущий вопрос теста

            this.textBoxTextQ.Text = question.textQuestion;           //Получение информации о вопросе
            typeQuestion           = question.typeQuestion;           //Тип вопроса
            answers = question.answers;

            answerMas    = answers.Split(';');       //Деление ответов на части
            countAnswers = answerMas.Length - 1;     //Количество ответов
            splitContainer2.Panel2.Controls.Clear(); //Готовим панель для динамических компонентов
            trueAnswer = "";                         //Строка правильных ответов
            //Отображаем динамические компоненты в зависимости от типа вопроса
            switch (typeQuestion)
            {
            case "Одиночный выбор":
                for (int i = 0; i < countAnswers; i++)
                {
                    trueAnswer += answerMas[i][0];     //Первый символ в ответе хранит правильность: + или –
                                                       //Динамические компоненты ответа зависят от типа вопроса
                    ClassTotal.RadioButtonDynamic(splitContainer2.Panel2, 20, zazorTop + i * comHieght + i * zazor, 30, comHieght);
                    ClassTotal.LabelDynamic(splitContainer2.Panel2, 60, zazorTop + i * comHieght + i * zazor, splitContainer2.Panel2.Width - 70, comHieght, answerMas[i].Remove(0, 1));
                }
                break;

            case "Множественный выбор":
                for (int i = 0; i < countAnswers; i++)
                {
                    trueAnswer += answerMas[i][0];
                    ClassTotal.CheckBoxDynamic(splitContainer2.Panel2, 3, 3 + (i * 40), 17, 20);
                    ClassTotal.LabelDynamic(splitContainer2.Panel2, 25, 3 + (i * 40), 637, 20, answerMas[i].Remove(0, 1));
                }
                break;

            case "Ввод значения":
                trueAnswer = answerMas[0];
                ClassTotal.TextBoxDynamic(splitContainer2.Panel2, 3, 3, 330, 30);
                break;

            case "Ввод слова":
                for (int i = 0; i < countAnswers; i++)
                {
                    trueAnswer += answerMas[i];
                    ClassTotal.TextBoxDynamic(splitContainer2.Panel2, 3, 3 + (i * 40), 330, 30);
                }
                break;

            case "На соответствие":
                string[] first  = new string[countAnswers];
                string[] second = new string[countAnswers];
                for (int i = 0; i < countAnswers; i++)
                {
                    string[] an = answerMas[i].Split('&');
                    first[i]  = an[0];
                    second[i] = an[1];
                }
                for (int i = 0; i < countAnswers; i++)
                {
                    trueAnswer += second[i];
                    ClassTotal.LabelDynamic(splitContainer2.Panel2, 17, 3 + (i * 40), 300, 20, first[i]);
                    ClassTotal.ComboBoxDynamic(splitContainer2.Panel2, 348, 3 + (i * 40), 300, 20, second);
                }
                break;
            }
        }