Диалоговое окно работы с шаром (рисунок 2.3) обеспечивает задание параметров шара: радиус шара, скорость движения, направление движения. Радиус шара и скорость шара вводится с помощью компонента класса TextBox, направление движения шара выбирается с помощью компонента RadioButton.
Рисунок 2.3 – Диалоговое окно работы с шаром
В проверке устанавливается, были ли пользователем введены допустимые данные.
{
//определение результата закрытия формы
if (DialogResult==DialogResult.OK)
// используется для обработки ошибок ввода данных
try
{
//проверка ввода радиуса шара
if (Radius_TB.Text.Trim() == "")
{
Radius_TB.Focus();
throw new Exception("Вы не ввели данные о радиусе шара");
}
//проверка ввода скорости вращения
if (Speed_TB.Text.Trim() == "")
{
Speed_TB.Focus();
throw new Exception("Вы не ввели данные о скорости движения шара");
}
//проверка выбора направления движения
if ( !radioButton1.Checked && !radioButton2.Checked)
{
groupBox1.Focus();
throw new Exception("Вы не ввели данные о направлении движения");
}
//проверка введенных значений на правильность
try
{
int speed = Convert.ToInt32(Speed_TB.Text);
if (speed < 1 || speed > 360)
{
Speed_TB.Focus();
throw new Exception("Скорость должна быть в диапозоне 1..360 рад/сек");
}
}
catch (FormatException)
{
e.Cancel = true;
Speed_TB.Focus();
MessageBox.Show("Скорость должна быть целым числом");
return;
}
try
{
int radius = Convert.ToInt32(Radius_TB.Text);
if (radius < 10 || radius > 100)
{
Radius_TB.Focus();
throw new Exception("Радиус шара должен быть не менее 10 и не более 100");
}
}
catch (FormatException)
{
e.Cancel = true;
Radius_TB.Focus();
MessageBox.Show("Радиус должен быть целым числом");