Как в процедуру, выполняющуюся по нажатию на кнопку, добавить переменную цикла программы? - PascalABC.NET
Формулировка задачи:
Всем здравствуйте. Есть программа, создающая в цикле необходимое количество форм. Формы должны закрываться по нажатию кнопки "Продолжить", но возникает проблема: Необходимо в процедуре закрытия формы указать её "экземпляр", так как формы записаны в массиве. Добавить в процедуру переменную цикла не представляется возможным (
хотя кто знает...
), так как процедура запускается по нажатию на кнопку (ANextButton.Click += ANext). Подскажите что делать, как решить проблему? Код программы прилагается :Решение задачи: «Как в процедуру, выполняющуюся по нажатию на кнопку, добавить переменную цикла программы?»
textual
Листинг программы
Procedure ANext(i : Integer; sender: System.Object; e: System.EventArgs); Begin ((sender as Button).Parent as Form).Close; End;
Объяснение кода листинга программы
В данном коде определен обработчик события нажатия кнопки с именем ANext
. При нажатии этой кнопки вызывается процедура с таким же именем. Внутри этой процедуры происходит следующее:
i
- это параметр процедуры, который передается из вызывающего кода и имеет тип Integer. Значение этого параметра не используется в данном коде.sender
- это параметр процедуры, который передается из вызывающего кода и представляет объект, который вызвал событие. В данном случае это кнопка.e
- это параметр процедуры, который передается из вызывающего кода и представляет событие, которое произошло. В данном случае это событие закрытия формы.((sender as Button).Parent as Form)
- это выражение, которое используется для получения доступа к форме, которая является родителем кнопки.((sender as Button).Parent as Form).Close
- это вызов методаClose
для формы, полученной в предыдущем шаге. Этот метод закрывает форму. Таким образом, при нажатии на кнопку с именемANext
происходит закрытие формы, которая является родителем этой кнопки.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д