Кнопка и надпись. Обработчик нажатия
§ 3.1–3.3, с. 15–19: Button, Label, Text, AutoSize и обработчик Click. Десять авторских иллюстраций, самостоятельный проект с двумя кнопками, повторное нажатие и перезапуск.
Конспект урока
Кнопка и надпись. Обработчик нажатия
Создай приложение, в котором кнопки управляют сообщением на форме.
Кнопка запускает действие, а надпись показывает результат. Авторская условная иллюстрация.
Результат урока
Разместишь Button и Label, свяжешь нажатия двух кнопок с изменением надписи и проверишь сохранённый проект после повторного открытия.
Перед началом
Работай в своей папке, соблюдай правила кабинета. При неисправности остановись и сообщи учителю. Для практики нужна проверенная учителем среда PascalABC.NET под Windows с дизайнером Windows Forms.
Вспомни: чем свойство Text отличается от события Click? Что будет с настройками, изменёнными во время выполнения, после нового запуска программы?
Сегодня изменяем текст метки кнопками. Ввод данных через текстовое поле будем изучать на следующем уроке.
Button выполняет действие по нажатию
Button — кнопка. На ней размещают короткую понятную подпись: «Приветствие», «Очистить», «Готово». Нажатие вызывает событие Click. Чтобы выполнить нужное действие, с событием связывают обработчик — участок программного кода.
Подпись помогает понять действие. Сам текст кнопки не заменяет программный обработчик.
Label показывает надпись
Label — метка для отображения текста. Пользователь не вводит в неё данные как в текстовое поле. В нашем проекте метка сначала показывает начальное сообщение, а обработчики кнопок заменяют его.
Label — место для пояснения или результата. Это учебная иллюстрация, а не снимок интерфейса.
| Объект | Роль в приложении | Что изучаем |
|---|---|---|
Form1 | Содержит элементы | Заголовок и размещение |
button1 | Запускает действие | Text и Click |
label1 | Показывает сообщение | Text и AutoSize |
Сначала выбери объект
- Создай отдельный проект Windows Forms
HelloForm. - В палитре выбери
Labelи размести на форме. ДобавьButton. - Выдели нужный компонент. Проверь его имя в инспекторе и только затем меняй свойство.
Значение в инспекторе относится к выбранному объекту.
Name и Text решают разные задачи
(Name) — имя, по которому код обращается к объекту. Text — видимая надпись. Например, у объекта button1 подпись может быть «Приветствие». Изменение подписи не переименовывает объект.
Имя объекта и видимая подпись — разные свойства. Точные имена в коде набираем самостоятельно.
| Объект | Свойство | Значение для HelloForm |
|---|---|---|
Form1 | Text | Приветствие |
button1 | Text | Приветствие |
label1 | Text | Очистить значение в инспекторе; кавычки не вводить |
label1 | AutoSize | True |
label1 | Font → Size | 20 |
label1 | ForeColor | Blue |
AutoSize=True позволяет метке подстраивать размер под текст. Оставь место для длинной строки: автоматический размер не гарантирует, что надпись поместится в форме. После очистки метка может стать почти незаметной; её можно выбрать через список объектов.
Цвет текста задаёт ForeColor. Размер и начертание настраивают через Font. В этой среде используем Text, а не Caption.
Кнопка вызывает обработчик
- Выдели
button1. - Открой события в инспекторе и создай обработчик
Click. Можно дважды щёлкнуть по самой кнопке в дизайнере: для неё это стандартное событие. - Внутри созданных средой
beginиendдобавь команду ниже. Объявление процедуры заново писать не нужно.
label1.Text := 'Здравствуй, мир!';
Источник события — button1. Изменяемый объект — label1. Эти объекты могут различаться.
Выполни программу и нажми «Приветствие». В надписи должен появиться текст. Обычного щелчка достаточно. Двойной щелчок по форме в дизайнере создаёт Load, поэтому внимательно выбирай объект.
Как прочитать команду
| Фрагмент | Смысл |
|---|---|
label1 | Объект, который изменяем |
.Text | Его свойство — отображаемый текст |
:= | Присвоить новое значение |
'Здравствуй, мир!' | Строка в одинарных кавычках |
Присваивание заменяет значение Text. Оно не дописывает строку автоматически.
Вторая кнопка очищает надпись
Останови приложение. Добавь button2, задай Text=Очистить и создай её собственный обработчик Click:
label1.Text := '';
Между кавычками нет символов. Строка с пробелом ' ' содержит один символ и не является пустой. Очистка — адаптация первой части упражнения 1 на странице 24; случайные параметры шрифта в эту работу не входят.
Учебная модель кнопки и надписи
Выбери «Приветствие» или «Готовность к работе». Перед запуском предположи, что покажет метка после каждого действия. Модель выполняет заданные реакции в браузере, не компилирует Pascal и не создаёт проект Windows Forms.
Открыть учебную модель кнопки и надписи. Это учебная модель, которая не создаёт проект PascalABC.NET.
Клавиатура: Tab переводит фокус; Enter или пробел нажимают выбранную кнопку. Щелчок по надписи или свободной форме не вызывает обработчик кнопки.
Почему повтор не всегда заметен
Нажми первую кнопку дважды. Если обработчик снова присваивает то же значение, видимый текст остаётся прежним. По одному только неизменному экрану нельзя заключить, что события не было. В модели повторный вызов виден в журнале.
Повторное событие может привести к тому же состоянию.
Сброс и новый запуск
В сценарии «Готовность к работе» кнопка «Сброс» выполняет наш код. Закрытие и запуск модели начинают новое выполнение с исходным текстом. Эти действия могут давать одинаковую надпись, но выполняются по-разному.
Новый запуск восстанавливает значения дизайнера, если код при загрузке их не меняет.
Пауза перед практикой
На минуту отведи взгляд от экрана. Посмотри вдаль, расслабь плечи и кисти, проверь посадку. Затем переходи к своему проекту.
Панель готовности
Создай отдельный проект ReadyPanel_07, заменив 07 номером своего места. Заголовок формы — «Готовность к работе». Размести надпись и две кнопки так, чтобы они не перекрывались. Рекомендуемый размер формы: Width 600, Height 320; эти числа не оцениваются.
| Объект | Начальная настройка | Требуемое действие |
|---|---|---|
label1 | Text=Ожидание, AutoSize=True, Font → Size=20, ForeColor=DarkBlue | Показывает сообщение |
button1 | Text=Готово | По Click меняет текст метки на «Можно начинать» |
button2 | Text=Сброс | По Click возвращает текст метки «Ожидание» |
Имена label1, button1, button2 сохрани. Код двух обработчиков составь самостоятельно по образцу HelloForm. Если работаешь в паре, поменяйтесь ролями после первого обработчика; каждый заполняет личную таблицу и объясняет обе команды.
Лист проверки
Для каждой строки сначала запиши прогноз, затем выполни действие и зафиксируй наблюдение. Проверяй весь текст, а не только его наличие.
| Действие | Прогноз | Наблюдение |
|---|---|---|
| Новый запуск | ________ | ________ |
| Готово | ________ | ________ |
| Готово ещё раз | ________ | ________ |
| Сброс | ________ | ________ |
| Снова Готово | ________ | ________ |
| Закрытие окна и новый запуск | ________ | ________ |
Сохранение и повторное открытие
- Останови приложение и выполни «Сохранить все».
- Закрой проект. Через «Файл → Открыть проект» открой его файл
.pabcproj. - Снова запусти приложение, проверь обе кнопки и начальную надпись.
- Передай учителю целую папку проекта и свой лист наблюдений.
Для продолжения разработки нужна папка исходного проекта, а не только исполняемый файл.
Критерии готовности
Шесть диагностических баллов: собственный проект повторно открывается; Label и две Button размещены читаемо; начальная надпись верна; «Готово» меняет метку; «Сброс» возвращает её; заполнены прогнозы и наблюдения с объяснением повтора и нового запуска. Браузерная модель помогает подготовиться, но не заменяет созданный проект.
Если остаётся время: добавь третью кнопку «Пауза», которая присваивает метке строку «Перерыв». Проверь: «Пауза» → «Готово» → «Сброс». Объясни, какой объект вызвал каждое событие и какое свойство изменилось.
Если результат отличается
| Наблюдение | Что проверить |
|---|---|
| Меняется подпись кнопки | Слева от .Text стоит button1 вместо label1 |
| Меняется заголовок формы | В методе формы записано только Text := … без label1. |
| Кнопка ничего не делает | Объект и привязку обработчика к его Click; наличие кода в теле процедуры |
| Сообщение появляется сразу | Исходный Text и код в Load |
| Надпись обрезана | AutoSize, размер метки и свободное место внутри формы |
Объясни самостоятельно
- Вместо команды изменения метки написали
button1.Text := 'Выполнено';. Какой объект изменится? Как направить изменение в надпись? - Повторное нажатие не изменило видимый текст. Доказывает ли это, что события Click не было? Объясни.
- После замены короткой строки длинной надпись обрезалась. Что проверишь?
Домашнее задание
§ 3.1–3.3, страницы 15–19; вопросы 1–5 на странице 24. Подготовь объяснение: какая кнопка вызывает событие, где выполняется обработчик, какое свойство какого объекта он изменяет.
По желанию и при доступе к среде: дополнить HelloForm кнопкой «Очистить» — первой частью упражнения 1 на странице 24. Случайные цвет и размер шрифта пока не требуются. Обязательное задание выполняется без установки программ дома.
Источники
Котов В. М. и др. «Информатика. 11 класс», 2021: § 3.1–3.3, пример 3.9; адаптация первой части упражнения 1. Электронная копия печатного учебника.
Технические имена: Microsoft Windows Forms — Label.Text, Label.AutoSize, Click, ForeColor. Среда: PascalABC.NET.
ReadyPanel, учебная модель и десять иллюстраций — авторские материалы. Иллюстрации условные и не заменяют интерфейс установленной среды. Команды могут немного отличаться расположением в разных версиях.
10 вопросов по теме «Объектно-событийная модель работы программы». Выбери ответ, прочитай объяснение и попробуй ещё раз, если ошибся.
Открыть отдельноВопрос 1 из 10
ТренировкаБез отметки и ограничения времени. Первый ответ учитывается отдельно от исправлений. При обновлении страницы ответы сбросятся.
Демонстрация
Материалы к уроку
Скачать и открыть
Материалы урока
3 материалаПодготовка к уроку
2 материала· для учителей
28 слайдов с десятью авторскими иллюстрациями, практикой и отдельными ключами по § 3.1–3.3.
Презентация · MediaSchool · Информатика, 11 класс · § 3.1–3.3
Профессиональный план на 45 минут, 9 страниц: ход урока, листы ученика и отдельные ключи.
Методичка · MediaSchool · Информатика, 11 класс · § 3.1–3.3
Проверка знаний
1 материал· для учеников
10 вопросов с объяснениями и повторной попыткой.
Проверочная
От сообщества
Материалы сообщества0
Дополнения от учителей к этому уроку. Проверены модерацией, но не являются редакционным контентом MediaSchool.
Поделитесь первым материалом
Рабочий лист, презентация или методичка помогут другим учителям подготовиться к уроку.
Комментарии
Войдите, чтобы оставлять комментарии.
Пока нет комментариев. Будьте первым!