Створимо додаток для роботи з рядками.
Рядок будемо вводити в текстове поле.
За допомогою двох радіокнопок будемо вибирати літеру (а або о).
За допомогою прапорців будемо вибирати завдання:
При натисканні на кнопку "ОК" виконується одне або обидва завдання.
Результат виводиться в перший і/або другий елемент Label.
При натисканні кнопки "Reset" форма повинна очищатися.
Додаток повинен бути спроектований так, щоб якщо текстове поле не заповнено, літера не вибрана або завдання не вибрано, то кнопка "ОК" неактивна.
Кнопка "ОК" стає активною, якщо форма заповнена правильно.
У конструкторі форми створимо:
Після завантаження форми командна кнопка повинна бути неактивною.
Тому до події Load для форми прив'яжемо відповідний обробник.
У обробнику події Load для форми встановимо для цієї кнопки властивість Enabled рівну false
private void Form1_Load(object sender, EventArgs e)
{
button1.Enabled = false;
}
До події Click для елемента button2 прив'яжемо відповідний обробник.
Обробник події Click кнопки button2 повинен:
private void button2_Click(object sender, EventArgs e)
{
// Очищення текстового поля
textBox1.Text = "";
// Скидання вибору радіокнопок
radioButton1.Checked = false;
radioButton2.Checked = false;
// Скидання вибору чекбоксів
checkBox1.Checked = false;
checkBox2.Checked = false;
// Очищення текстів у мітках
label3.Text = "";
label4.Text = "";
}
До події Click для елемента button1 прив'яжемо відповідний обробник.
Обробник події Click кнопки button1:
private void button1_Click(object sender, EventArgs e)
{
string tx1 = textBox1.Text;
string tx2 = "";
string tx3 = "";
// Визначаємо вибрану радіокнопку
if (radioButton1.Checked)
{
tx2 = radioButton1.Text; // Беремо текст першої радіокнопки
}
else
{
tx2 = radioButton2.Text; // Беремо текст другої радіокнопки
}
// Перевірка першого чекбоксу
if (checkBox1.Checked)
{
// Порівнюємо перші літери
if (tx1.Length > 0 && tx2.Length > 0 && tx1[0] == tx2[0])
label3.Text = "yes";
else
label3.Text = "no";
}
// Перевірка другого чекбоксу
if (checkBox2.Checked)
{
// Замінюємо всі входження tx2 на пробіл у tx1
tx3 = tx1.Replace(tx2, " ");
label4.Text = tx3;
}
}
Цей обробник перевіряє стан таких елементів нашої форми: textBox1, radioButton1, radioButton2, checkBox1, checkBox2
Тому він повинен бути прив'язаний до них так:
Цей обробник називається textBox1_TextChanged
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.TextLength > 0 &&
(checkBox1.Checked || checkBox2.Checked) &&
(radioButton1.Checked || radioButton2.Checked))
{
button1.Enabled = true;
}
else
{
if (button1.Enabled)
{
button1.Enabled = false;
}
}
}
Обробник робить кнопку "ОК" активною, якщо:
В іншому випадку, якщо кнопка є активною, вона стає неактивною.
| Варіант | Додаткові елементи керування | Дії |
|---|---|---|
| 1 |
comboBox для вибору літери зі списку.
Дві radioButton для вибору однієї з двох дій. |
1. Чи є в рядку вибрана літера.
2. Скільки разів в рядку зустрічається вибрана літера. |
| 2 |
Дві radioButton для вибору однієї з двох літер.
comboBox для вибору однієї з двох дій. |
1. Чи починається рядок з вибраної літери.
2. Чи закінчується рядок вибраною літерою. |
| 3 |
Два checkBox для вибору однієї або двох літер.
Дві radioButton для вибору однієї з двох дій. |
1. Замінити всі літери в рядку, що збігаються з однією або другою літерою, на зірочку.
2. Скільки разів в рядку зустрічається вибрана літера. |
| 4 |
comboBox для вибору числа зі списку.
Дві radioButton для вибору однієї з двох дій. |
1. Чи дорівнює довжина рядка вибраному числу.
2. Чи дорівнює кількість пробілів у рядку вибраному числу. |
| 5 |
Дві radioButton для вибору одного з двох чисел.
comboBox для вибору однієї з двох дій. |
1. Створити новий рядок, в якому вхідний рядок повторюється вибрану кількість разів.
2. Створити новий рядок, який матиме вибрану довжину: зайве відсікати, або додавати *. |
| 6 |
Додаткове поле textBox для введення другого рядка.
Дві radioButton для вибору однієї з двох дій. |
1. Отримати суму двох рядків.
2. Отримати новий рядок, в якому другий рядок видаляється з першого рядка. |
| 7 |
comboBox для вибору літери зі списку.
Дві radioButton для вибору однієї з двох дій. |
1. Видалити з рядка вибрану літеру (отримати новий рядок).
2. Вставити вибрану літеру перед кожним символом рядка (отримати новий рядок). |
| 8 |
comboBox для вибору літери зі списку.
Два checkBox для вибору однієї або двох дій. Додаткове поле label для виведення другого результату. |
1. Чи починається рядок з вибраної літери.
2. Чи закінчується рядок вибраною літерою. |
| 9 |
Дві radioButton для вибору однієї з двох літер.
Два checkBox для вибору однієї або двох дій. Додаткове поле label для виведення другого результату. |
1. Чи є в рядку вибрана літера.
2. Скільки разів в рядку зустрічається вибрана літера. |
| 10 |
Додаткове поле textBox для введення другого рядка.
Два checkBox для вибору однієї або двох дій. Додаткове поле label для виведення другого результату. |
1. Чи є в рядку з першого textBox рядок з другого textBox?
2. Скільки таких входжень? |
| 11 |
comboBox для вибору другого рядка зі списку.
Два checkBox для вибору однієї або двох дій. Додаткове поле label для виведення другого результату. |
1. Отримати суму двох рядків.
2. Вставити другий рядок в середину першого рядка. |
| 12 |
В textBox вводиться речення.
Дві radioButton для вибору одного з двох чисел. Два checkBox для вибору однієї або двох дій. Додаткове поле label для виведення другого результату. |
1. Вивести всі слова речення, довжина яких менша за вибране число.
2. Вивести всі слова речення, крім слова з номером, що дорівнює вибраному числу. |
| 13 |
В textBox вводиться речення.
comboBox для вибору літери зі списку. Два checkBox для вибору однієї або двох дій. Додаткове поле label для виведення другого результату. |
1. Вивести всі слова речення, крім слів, які починаються з вибраної літери.
2. Вивести всі слова речення, крім слів, які закінчуються вибраною літерою. |
| 14 |
В textBox вводиться речення.
Дві radioButton для вибору однієї з двох літер. Два checkBox для вибору однієї або двох дій. Додаткове поле label для виведення другого результату. |
1. Вивести всі слова речення, в яких є вибрана літера.
2. Вивести всі слова речення, в яких немає вибраної літери. |
| 15 |
В textBox вводиться речення.
Дві radioButton для вибору одного з двох чисел. Два checkBox для вибору однієї або двох дій. Додаткове поле label для виведення другого результату. |
Сформувати новий рядок зі слів введеного речення, де слова зсуваються на кількість позицій, що дорівнює вибраному числу. Наприклад, якщо число=2:
1. з 1 2 3 4 5 отримати 3 4 5 1 2 2. з 1 2 3 4 5 отримати 4 5 1 2 3 |
| 16 |
Додаткове поле textBox для введення другого рядка.
Два checkBox для вибору однієї або двох дій. Додаткове поле label для виведення другого результату. |
1. Чи є в рядку з першого textBox рядок з другого textBox?
2. Скільки таких входжень? |
| 17 |
comboBox для вибору другого рядка зі списку.
Два checkBox для вибору однієї або двох дій. Додаткове поле label для виведення другого результату. |
1. Отримати суму двох рядків.
2. Вставити другий рядок в середину першого рядка. |