Связать кнопку с конкретным объектом из массива объектов - PullRequest
0 голосов
/ 09 ноября 2018

Использование C # и Visual Studio 2017.

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

Каждая кнопка представляет место, и при нажатии - если место еще не зарезервировано - пользователь заполняет свою информацию и сможет зарезервировать место. Если место уже зарезервировано, на нем будут отображаться данные о человеке, который забронировал место ранее (имя, фамилия и т. Д.), Которые в настоящее время хранятся в массиве.

Есть ли способ связать каждую кнопку с объектом в массиве? Резервировать места легко, но щелкнув по зарезервированному месту, чтобы показать детали (или удалить бронирование и освободить место), я думаю, что я могу быть намного эффективнее, чем у меня есть в настоящее время.

Т.е.. Если щелкнуть место А1 и ввести данные, место зарезервировано. Позже другие места зарезервированы. Если я затем захочу вернуться и просмотреть A1 или удалить резервирование, как я могу связать кнопку A1 с данными, которые я сохранил в массиве.

1 Ответ

0 голосов
/ 10 ноября 2018

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

В приведенном ниже примере показан код для отображения информации из зарезервированного места. strings "firstName", "lastName" и т. Д. Затем помещаются в другое текстовое поле для отображения. Все места организованы в List, заполненные объектами класса типа «место», где они имеют все свойства, которые вы можете видеть в коде.

При нажатии кнопки она заполняет текстовое поле txtSeatSelected, которое затем используется для сопоставления с соответствующим местом на основе строки seatID.

foreach (var seat in seatsList)
        {
            if (seat.seatID == txtSeatSelected.Text)
            {
                firstName = seat.firstName;
                lastName = seat.lastName;
                address = seat.address;
                city = seat.city;
                province = seat.province;
                postalCode = seat.postalCode;
            }
        }

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

Спасибо за помощь людям, оставившим комментарии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...