1 / 1 / 0
Регистрация: 09.01.2017
Сообщений: 55
1

Windows.Forms - Array of Button, цикл for и public constructor

01.03.2019, 22:46. Показов 1519. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Есть WinForms-программа, в public constructor используется цикл for.
Pascal
1
2
3
private
ClickedButtonX, ClickedButtonY:Integer;
balcony_01, balcony_02:Array[0..50] of Button;
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public
    constructor;
    begin
        var pointer_to_OnButtonClick: procedure := OnButtonClick;
        OnLoad;
        for var i := 1 to 50 do begin
            self.balcony_01[i].Click += procedure(Sender:Object; e:EventArgs)->begin
              ClickedButtonX := i; ClickedButtonY := 1; ClickedButtonPos := 'balcony'; pointer_to_OnButtonClick;
            end;
            self.balcony_02[i].Click += procedure(Sender:Object; e:EventArgs)->begin
             ClickedButtonX := i; ClickedButtonY := 2; ClickedButtonPos := 'balcony'; pointer_to_OnButtonClick;
            end;
        end;
    end;
При этом, после нажатия на любую кнопку из массива balcony_01 и balcony_02 в ClickedButtonX и ClickedButtonY записывается значение 50. Через WriteLn проверил, когда дело доходит до записи в переменные, i всегда равно этому числу.
Пожалуйста, подскажите, чем это вызвано и как исправить данную ошибку.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.03.2019, 22:46
Ответы с готовыми решениями:

Windows.Forms - Процедуры, цикл for и System.Windows.Forms.Button
Доброго времени суток. Есть WinForms программа: ... private ClickedButtonId, ClickedButtonX,...

Make sure class name exists, is public, and has an empty constructor that is public
Здравствуйте, подскажите пожалуйста, в чем ошибка? Я нашел информацию, что тот класс где возникает...

Как сделать и установить свой скин System.Windows.Forms.Button?
Делаю свою линейку приложений и хочу сделать свой дизайн. P.S.: Лучше я знаю...

Как заменить некомпилируемый "System::Windows::Forms::PictureBox Array[][]"
(где-то внутри "namespace Spacebox") // Пользовательский блок: начало class Planet{ // Ещё...

1
2237 / 1356 / 508
Регистрация: 07.04.2017
Сообщений: 4,645
02.03.2019, 01:38 2
Лучший ответ Сообщение было отмечено danilasar как решение

Решение

https://github.com/pascalabcne... issues/899

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public
    constructor;
    begin
        var pointer_to_OnButtonClick: procedure := OnButtonClick;
        OnLoad;
        for var _i := 1 to 50 do begin//ToDo #899
            var i := _i;//ToDo #899
            self.balcony_01[i].Click += procedure(Sender:Object; e:EventArgs)->begin
              ClickedButtonX := i; ClickedButtonY := 1; ClickedButtonPos := 'balcony'; pointer_to_OnButtonClick;
            end;
            self.balcony_02[i].Click += procedure(Sender:Object; e:EventArgs)->begin
             ClickedButtonX := i; ClickedButtonY := 2; ClickedButtonPos := 'balcony'; pointer_to_OnButtonClick;
            end;
        end;
    end;
Должно работать...
1
02.03.2019, 01:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.03.2019, 01:38
Помогаю со студенческими работами здесь

Ошибка "System.Windows.Forms.Button" не содержит определения для "Items"
Как решить данную ошибку? "System.Windows.Forms.Button" не содержит определения для "Items" и не...

"System.Windows.Forms.Button" не содержит определение для "Checked"
Ребят помогите пожалуйста! "System.Windows.Forms.Button" не содержит определение для "Checked". Не...

Не работает: Button.addActionListener(new ActionListener() { public void actionPerformed(actionEvent evt) { } });
Button.addActionListener(new ActionListener() { public void...

VS 2008, C#: 1 Error. Constructor on type 'App.App.Forms.FormBase' not found. в FormDerived [Design]
и это после того, как добавил в котструктор базовой формы параметр. теперь в design только ее и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru