Как получить доступ к элементу radioButton, который НЕ выбран?
Здравствуйте! Пишу маленькую программу для тестирования. За основу взял код из книги Зиборов В.В. - Visual С# 2012 на примерах. На форме имеется label1, radioButton1 ... radioButton7 и две кнопки button.
using System;
using System.Windows.Forms;
using System.IO;
namespace Test
{
public partial class Form1 : Form
{
// Внешние переменные:
int CorrectAnswer = 0; // Количество правильных ответов
int WrongAnswer = 0; // Количество неправильных ответов
String[] MassiveCorrectAnswers = new String[100];
String[] MassiveWrongAnswers = new String[100];
int NumberOfCorrectAnswer; // Номер правильного ответа
int ChosenAnswer; // Номер ответа, выбранный студентом
System.IO.StreamReader Reader = new System.IO.StreamReader
(@"Путь к файлу\...\Название файла.txt",
System.Text.Encoding.GetEncoding(1251));
// Тут пропущен код, который считывает файл и выводит на форму
// Выясняем, какой ответ - правильный:
NumberOfCorrectAnswer = int.Parse(Reader.ReadLine());
void SwitchChanged(Object sender, EventArgs e)
{
RadioButton Switch = (RadioButton)sender;
var tmp = Switch.Name;
// Выясняем номер ответа, выбранный студентом:
ChosenAnswer = int.Parse(tmp.Substring(11));
}
private void button1_Click(object sender, EventArgs e)
{
if (ChosenAnswer == NumberOfCorrectAnswer) CorrectAnswer++;
if (ChosenAnswer != NumberOfCorrectAnswer)
{
// Счет неправильных ответов:
WrongAnswer++;
// Запоминаем вопросы с неправильными ответами:
MassiveWrongAnswers[WrongAnswer] = label1.Text;
// Тут ошибка
MassiveCorrectAnswers[WrongAnswer] =
radioButton[NumberOfCorrectAnswer].Text;
}
}
}
}
В общих словах: значение NumberOfCorrectAnswer
считывается из файла, значение ChosenAnswer
получаем через обработчик событий.
Мы сравниваем их, если они не равны, добавляем в массив MassiveWrongAnswers[]
вопрос, в котором ошибся пользователь, а в массив MassiveCorrectAnswers[]
нужно добавить правильный ответ. Как обратиться к radioButton[i]
(i
- случайное число), если свойство Checked = false
?
IDE - Microsoft Visual Studio 2013 Ultimate.