Методичка з повним кодом C# та JavaScript демонстрацією
Windows Forms додаток для обробки тексту з валідацією введення та динамічним інтерфейсом:
Спробуйте функціонал програми прямо в браузері:
using System; using System.Linq; using System.Windows.Forms; namespace StudentApp { public partial class Form1 : Form { public Form1() { InitializeComponent(); lblStudent.Text = "Прізвище учня: Іванов"; } private void TextBox_TextChanged(object sender, EventArgs e) { ValidateForm(); } private void ComboBoxTask_SelectedIndexChanged(object sender, EventArgs e) { // Динамічне відображення полів switch (comboBoxTask.SelectedIndex) { case 0: // Підрахунок символів case 1: // Видалення символів textBoxChar.Visible = true; textBoxNumber.Visible = false; break; case 2: // Пошук слів за довжиною textBoxChar.Visible = false; textBoxNumber.Visible = true; break; case 3: // Великі перші літери textBoxChar.Visible = false; textBoxNumber.Visible = false; break; } ValidateForm(); } private void ValidateForm() { bool isValid = true; // Перевірка основного поля if (string.IsNullOrWhiteSpace(textBox1.Text)) isValid = false; // Перевірка вибору завдання if (comboBoxTask.SelectedIndex == -1) isValid = false; // Перевірка додаткових полів if (comboBoxTask.SelectedIndex == 0 || comboBoxTask.SelectedIndex == 1) { if (string.IsNullOrWhiteSpace(textBoxChar.Text)) isValid = false; } else if (comboBoxTask.SelectedIndex == 2) { if (!int.TryParse(textBoxNumber.Text, out int number) || number < 1 || number > 20) isValid = false; } btnOK.Enabled = isValid; } private void BtnOK_Click(object sender, EventArgs e) { string inputText = textBox1.Text; switch (comboBoxTask.SelectedIndex) { case 0: // Підрахунок символів char searchChar = textBoxChar.Text[0]; int count = inputText.Count(c => c == searchChar); lblResult1.Text = $"Кількість входжень символу '{searchChar}': {count}"; break; case 1: // Видалення символів char removeChar = textBoxChar.Text[0]; string cleanedText = inputText.Replace(removeChar.ToString(), ""); lblResult1.Text = $"Текст після видалення '{removeChar}':"; lblResult2.Text = cleanedText; break; case 2: // Пошук слів за довжиною int wordLength = int.Parse(textBoxNumber.Text); string[] words = inputText.Split(new[] { ' ', ',', '.' }, StringSplitOptions.RemoveEmptyEntries); var matchingWords = words.Where(w => w.Length == wordLength).ToArray(); lblResult1.Text = $"Слова з довжиною {wordLength}:"; lblResult2.Text = matchingWords.Length > 0 ? string.Join(", ", matchingWords) : "Слів не знайдено"; break; case 3: // Великі перші літери string[] wordsToCapitalize = inputText.Split(' '); for (int i = 0; i < wordsToCapitalize.Length; i++) { if (!string.IsNullOrEmpty(wordsToCapitalize[i])) { wordsToCapitalize[i] = char.ToUpper(wordsToCapitalize[i][0]) + wordsToCapitalize[i].Substring(1); } } lblResult1.Text = "Текст з великими першими літерами:"; lblResult2.Text = string.Join(" ", wordsToCapitalize); break; } } } }