Перейти к содержанию
MediaSchool

Кнопка и надпись. Обработчик нажатия

§ 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

Сначала выбери объект

  1. Создай отдельный проект Windows Forms HelloForm.
  2. В палитре выбери Label и размести на форме. Добавь Button.
  3. Выдели нужный компонент. Проверь его имя в инспекторе и только затем меняй свойство.

Значение в инспекторе относится к выбранному объекту.

Name и Text решают разные задачи

(Name) — имя, по которому код обращается к объекту. Text — видимая надпись. Например, у объекта button1 подпись может быть «Приветствие». Изменение подписи не переименовывает объект.

Имя объекта и видимая подпись — разные свойства. Точные имена в коде набираем самостоятельно.

ОбъектСвойствоЗначение для HelloForm
Form1TextПриветствие
button1TextПриветствие
label1TextОчистить значение в инспекторе; кавычки не вводить
label1AutoSizeTrue
label1Font → Size20
label1ForeColorBlue

AutoSize=True позволяет метке подстраивать размер под текст. Оставь место для длинной строки: автоматический размер не гарантирует, что надпись поместится в форме. После очистки метка может стать почти незаметной; её можно выбрать через список объектов.

Цвет текста задаёт ForeColor. Размер и начертание настраивают через Font. В этой среде используем Text, а не Caption.

Кнопка вызывает обработчик

  1. Выдели button1.
  2. Открой события в инспекторе и создай обработчик Click. Можно дважды щёлкнуть по самой кнопке в дизайнере: для неё это стандартное событие.
  3. Внутри созданных средой 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; эти числа не оцениваются.

ОбъектНачальная настройкаТребуемое действие
label1Text=Ожидание, AutoSize=True, Font → Size=20, ForeColor=DarkBlueПоказывает сообщение
button1Text=ГотовоПо Click меняет текст метки на «Можно начинать»
button2Text=СбросПо Click возвращает текст метки «Ожидание»

Имена label1, button1, button2 сохрани. Код двух обработчиков составь самостоятельно по образцу HelloForm. Если работаешь в паре, поменяйтесь ролями после первого обработчика; каждый заполняет личную таблицу и объясняет обе команды.

Лист проверки

Для каждой строки сначала запиши прогноз, затем выполни действие и зафиксируй наблюдение. Проверяй весь текст, а не только его наличие.

ДействиеПрогнозНаблюдение
Новый запуск________________
Готово________________
Готово ещё раз________________
Сброс________________
Снова Готово________________
Закрытие окна и новый запуск________________

Сохранение и повторное открытие

  1. Останови приложение и выполни «Сохранить все».
  2. Закрой проект. Через «Файл → Открыть проект» открой его файл .pabcproj.
  3. Снова запусти приложение, проверь обе кнопки и начальную надпись.
  4. Передай учителю целую папку проекта и свой лист наблюдений.

Для продолжения разработки нужна папка исходного проекта, а не только исполняемый файл.

Критерии готовности

Шесть диагностических баллов: собственный проект повторно открывается; Label и две Button размещены читаемо; начальная надпись верна; «Готово» меняет метку; «Сброс» возвращает её; заполнены прогнозы и наблюдения с объяснением повтора и нового запуска. Браузерная модель помогает подготовиться, но не заменяет созданный проект.

Если остаётся время: добавь третью кнопку «Пауза», которая присваивает метке строку «Перерыв». Проверь: «Пауза» → «Готово» → «Сброс». Объясни, какой объект вызвал каждое событие и какое свойство изменилось.

Если результат отличается

НаблюдениеЧто проверить
Меняется подпись кнопкиСлева от .Text стоит button1 вместо label1
Меняется заголовок формыВ методе формы записано только Text := … без label1.
Кнопка ничего не делаетОбъект и привязку обработчика к его Click; наличие кода в теле процедуры
Сообщение появляется сразуИсходный Text и код в Load
Надпись обрезанаAutoSize, размер метки и свободное место внутри формы

Объясни самостоятельно

  1. Вместо команды изменения метки написали button1.Text := 'Выполнено';. Какой объект изменится? Как направить изменение в надпись?
  2. Повторное нажатие не изменило видимый текст. Доказывает ли это, что события Click не было? Объясни.
  3. После замены короткой строки длинной надпись обрезалась. Что проверишь?

Домашнее задание

§ 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

Тренировка
Чем оконное приложение отличается от программ с текстовым интерфейсом, которые писали в 7–10 классах?

Без отметки и ограничения времени. Первый ответ учитывается отдельно от исправлений. При обновлении страницы ответы сбросятся.

Демонстрация

Материалы к уроку

Скачать и открыть

Материалы урока

3 материала

Подготовка к уроку

2 материала

Проверка знаний

1 материал

От сообщества

Материалы сообщества0

Дополнения от учителей к этому уроку. Проверены модерацией, но не являются редакционным контентом MediaSchool.

Поделиться материалом

Поделитесь первым материалом

Рабочий лист, презентация или методичка помогут другим учителям подготовиться к уроку.

Комментарии

Войдите, чтобы оставлять комментарии.

Пока нет комментариев. Будьте первым!