Тест с кнопками

Содержание

Слайд 2

Определение структуры теста Устройства ввода клавиатура 2 принтер -10 джойстик 3

Определение структуры теста

Устройства ввода
клавиатура
2
принтер
-10
джойстик
3
Текстовые редакторы
Paint
-10
MS Word
2
Notepad
3
Операции отношения
больше
3
деление
-10
равенство
2

Слайд 3

Форма для теста

Форма для теста

Слайд 4

Форма для теста

Форма для теста

Слайд 5

Описание структуры для хранения теста namespace ТестКнопки {struct vopros { public

Описание структуры для хранения теста

namespace ТестКнопки
{struct vopros
{
public string vopr;

public string otv1;
public int bal1;
public string otv2;
public int bal2;
public string otv3;
public int bal3;
public int rez;
public int rezmax;
};
Слайд 6

Описание переменных формы public partial class Form1 : Form { int

Описание переменных формы

public partial class Form1 : Form
{
int kol,

i;
vopros[] Test;
List
Слайд 7

Чтение вопросов из файла public Form1() { InitializeComponent(); string[] str; str

Чтение вопросов из файла

public Form1()
{
InitializeComponent();
string[] str;
str

= File.ReadAllLines(@"d:\test1.txt");
int n = str.Length;
kol = n / 7;
Test = new vopros[kol];
Слайд 8

Создание коллекции кнопок for (int j = 0; j { Button

Создание коллекции кнопок

for (int j = 0; j < kol; j++)

{ Button b = new Button();
b.Height = 20;
b.Width = 30;
b.Top = this.ClientSize.Height - 25;
b.Left = 10 + j* 35;
b.Text = Convert.ToString(j + 1);
b.Visible = true;
b.Enabled = false;
b.Click += new System.EventHandler(this.Возврат);
this.Controls.Add(b);
vopr.Add(b);
}
Слайд 9

Создание массива вопросов for (int j = 0; j { Test[j].vopr

Создание массива вопросов

for (int j = 0; j < kol; j++)

{
Test[j].vopr = str[m]; m++;
Test[j].otv1 = str[m]; m++;
Test[j].bal1 = Convert.ToInt32(str[m]); m++;
Test[j].otv2 = str[m]; m++;
Test[j].bal2 = Convert.ToInt32(str[m]); m++;
Test[j].otv3 = str[m]; m++;
Test[j].bal3 = Convert.ToInt32(str[m]); m++;
if (Test[j].bal1 >0) Test[j].rezmax += Test[j].bal1;
if (Test[j].bal2 > 0) Test[j].rezmax += Test[j].bal2;
if (Test[j].bal3 >0) Test[j].rezmax += Test[j].bal3;
}
Слайд 10

Установки для начала работы button1.Text = "Далее"; button2.Text = "Результат"; button2.Enabled

Установки для начала работы

button1.Text = "Далее";
button2.Text = "Результат";
button2.Enabled

= false;
i = 0;
vivod(i);
timer1.Enabled = true;
}
Слайд 11

Метод вывод void vivod(int t) { label1.Text =Convert.ToString(t+1)+". "+Test[t].vopr; checkBox1.Text =

Метод вывод

void vivod(int t)
{
label1.Text =Convert.ToString(t+1)+". "+Test[t].vopr;
checkBox1.Text =

Test[t].otv1;
checkBox2.Text = Test[t].otv2;
checkBox3.Text = Test[t].otv3;
checkBox1.Checked = false;
checkBox2.Checked = false;
checkBox3.Checked = false;
}
Слайд 12

Событие щелчок по кнопке Далее private void button1_Click(object sender, EventArgs e)

Событие щелчок по кнопке Далее

private void button1_Click(object sender, EventArgs e)
{

int s = 0;
vopr[i].Enabled = true;
if (checkBox1.Checked) s += Test[i].bal1;
if (checkBox2.Checked) s += Test[i].bal2;
if (checkBox3.Checked) s += Test[i].bal3;
if (s < 0) Test[i].rez = 0; else Test[i].rez = s;
i++;
if (i < kol) vivod(i);
else
{ button1.Enabled = false;
button12.Enabled = true; }
}
Слайд 13

Обработчик события Возврат private void Возврат(object sender, EventArgs e) { int

Обработчик события Возврат

private void Возврат(object sender, EventArgs e)
{
int k=0;

for(int j=0;j<10;j++)
if (sender.Equals(vopr[j])) k=j;
vivod(k);
}
Слайд 14

Щелчок по кнопке Результат private void button12_Click(object sender, EventArgs e) {

Щелчок по кнопке Результат

private void button12_Click(object sender, EventArgs e)
{

int sum=0, summax=0;
double rezult;
for (int j = 0; j < kol; j++)
{ sum += Test[j].rez;
summax += Test[j].rezmax;
}
rezult = (double)sum / summax * 100;
MessageBox.Show("Тест закончен. Вы получили " + Convert.ToString(rezult) + "%");
}
Слайд 15

Таймер

Таймер

Слайд 16

Свойства и события Таймера

Свойства и события Таймера