Тест на VB

18 октября 2018 - Администратор

В этом уроке мы разберём, как сделать тест на VB, рассмотрим условный оператор If, научимся работать с элементами RadioButton.

Мы реализуем программу, с помощью которой можно создать собственный тест с различными вопросами и правильными ответами, которые можете задать вы. Программа должна выводить вопросы, варианты ответа, и при нажатии на кнопку говорить, правильно вы ответили или нет.

1.       В Toolbox находим элемент GroupBox, размещаем три элемента GroupBox.

2.      Находим элементы RadioButton, их размещаем по три в каждом GroupBox. 

Введем  эелементы Label  с вопросами  и Button для проверки теста. В итоге должен получиться такой интерфейс.

Чтобы вопросы и правильные ответы успешно применились, быстро нажмём на саму форму два раза.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

В данную функцию мы можем вносить свои варианты вопросов и ответов. При загрузке приложения данная процедура выполняется первой, она и  определит все варианты вопросов и ответов.

Переключатели RadioButton – это элементы управления , которые позволяют пользователю выбирать один вариант из нескольких взаимоисключающих  вариантов.

Если выбирается ответ , то в круге поялвется точка и свойство Checked  становится  True. Причем выбрать из группы можно только один переключатель. Все перключатели объеденены в группу GroupBox

Чтобы обозначить правильные ответы, создадим переменные, на каждую из которых назначен свой переключатель RadioButton с правильными ответами. Эти переменные – глобальные, поэтому их нужно назначить вне всяких функций или процедур. Глобальные переменные опеределяются в самом начале программы и иж можно использовать во всех процедурах.  В процедуре Form1_Load им будут присвоены значения правильных ответов.

Dim Right1 As Object

Dim Right2 As Object

Dim Right3 As Object

Назначим на каждый расставленный Label свой вопрос:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        ' вопросы

        Label1.Text = "1. Кто написал cказку о рыбаке и рыбке?"

        Label2.Text = "2. Как звали Президента РФ на момент 2008 года?"

        Label3.Text = "3. Кто убил Пушкина на дуэли?"

End Sub

Теперь зададим правильные ответы на каждый вопрос и на каждый из них назначим RadioButton, содержащий правильный ответ:

' правильные ответы

        Right1 = RadioButton1

        Right2 = RadioButton5

        Right3 = RadioButton9

После этого нужно на каждый RadioButton назначить свой вариант ответа (на каждый вопрос будет по три варианта ответа):

' ответы на первый вопрос

        RadioButton1.Text = "Александр Пушкин"

        RadioButton2.Text = "Михаил Лермонтов"

        RadioButton3.Text = "Фёдор Достоевский"

        ' ответы на второй вопрос

        RadioButton4.Text = "Владимир Путин"

        RadioButton5.Text = "Дмитрий Медведев"

        RadioButton6.Text = "Светлана Жмышенко"

        ' ответы на третий вопрос

        RadioButton7.Text = "Портос"

        RadioButton8.Text = "Арамис"

        RadioButton9.Text = "Дантес"

После того, как мы ввели все вопросы и ответы, создадим систему, проверяющую правильность введённых ответов. Проверять ответы мы будем при нажатии кнопки «Проверить», следовательно, в форме нажимаем два раза по кнопке.

Сам элемент RadioButton имеет свойство Checked, зависящее от того, выбрали ли мы данный  RadioButton или нет.

Это свойство имеет зачение True  , если элемент выбран. False Если элемент не выбран. чтобы получить свойтсво объекта в Vb , нужно сначал указать его имя , а потом  точку и имя свойства.

 Пример:

Dim Right1 As Object

Right1 = RadioButton1

If Right1.Checked = True Then

     Label4.Text = "Правильно."

End If

If Right1.Checked = False Then

     Label4.Text = "Неправильно."

End If

Теперь напишем такую же проверку для каждого RadioButton:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        If Right1.Checked = True Then

            Label4.Text = "Правильно."

        End If

        If Right1.Checked = False Then

            Label4.Text = "Неправильно."

        End If

        If Right2.Checked = True Then

            Label5.Text = "Правильно."

        End If

        If Right2.Checked = False Then

            Label5.Text = "Неправильно."

        End If

        If Right3.Checked = True Then

            Label6.Text = "Правильно."

        End If

        If Right3.Checked = False Then

            Label6.Text = "Неправильно."

        End If

    End Sub

Полная версия программы:

Public Class Form1

    Dim Right1 As Object

    Dim Right2 As Object

    Dim Right3 As Object

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        ' вопросы

        Label1.Text = "1. Кто написал cказку о рыбаке и рыбке?"

        Label2.Text = "2. Как звали Президента РФ на момент 2008 года?"

        Label3.Text = "3. Кто убил Пушкина на дуэли?"

        ' правильные ответы

        Right1 = RadioButton1

        Right2 = RadioButton5

        Right3 = RadioButton9

        ' ответы на первый вопрос

        RadioButton1.Text = "Александр Пушкин"

        RadioButton2.Text = "Михаил Лермонтов"

        RadioButton3.Text = "Фёдор Достоевский"

        ' ответы на второй вопрос

        RadioButton4.Text = "Владимир Путин"

        RadioButton5.Text = "Дмитрий Медведев"

        RadioButton6.Text = "Светлана Жмышенко"

        ' ответы на третий вопрос

        RadioButton7.Text = "Портос"

        RadioButton8.Text = "Арамис"

        RadioButton9.Text = "Дантес"

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        If Right1.Checked = True Then

            Label4.Text = "Правильно."

        End If

        If Right1.Checked = False Then

            Label4.Text = "Неправильно."

        End If

        If Right2.Checked = True Then

            Label5.Text = "Правильно."

        End If

        If Right2.Checked = False Then

            Label5.Text = "Неправильно."

        End If

        If Right3.Checked = True Then

            Label6.Text = "Правильно."

        End If

        If Right3.Checked = False Then

            Label6.Text = "Неправильно."

        End If

    End Sub

End Class

 Перейти к содержанию

Комментарии (0)

Нет комментариев. Ваш будет первым!