Хорошо, я вижу, что вы не показываете код, где он добавляет что-либо к matrs, поэтому мы, безусловно, не можем найти полезный исходный код. Кроме того, мы не знаем, что такое Matricule, но я могу довольно хорошо догадаться, что вы уже поделили.
Я считаю, что 1 из 3 вещей должно происходить, если matrs не получает никаких предметов.
1: Вы уверены, что ваша функция привязана к событию нажатия кнопки? вы можете установить точку останова в функции, чтобы убедиться, что она даже выполняется. или вы можете добавить строку, чтобы показать сообщение MessageBox.Show("Yes", this.Text);
внутри этого метода button1_Click().
2: если функция выполняется (так что это не вариант № 1), то мое второе соображение состоит в том, что, возможно, (Matricule)item
не находится в списке матриц, который можно удалить. что функция «Удалить» возвращает логическое значение, указывающее, действительно ли удаление удалило что-то или нет.
3: вы уверены, что его не удаляют, и что действительно происходит, так это то, что он действительно удаляется, но ваш новый обновленный список вам не показан?
Я считаю, что вы думаете, что это №2, но, возможно, захотите устранить возможность других двух простых вариантов (# 1 и # 3). если вы делаете вывод, что это №2, поэтому вариантов №1 и №3 не происходит, то вот что происходит с удалением объектов путем ссылки на эти объекты: это легко приводит к проблемам, как то, что у вас есть. так легко получить код, который фактически пытается удалить новый объект с теми же свойствами, что и другой объект, который находится в List
. чистый способ, которым я решаю это, - попытаться удалить элементы по индексу #, а не ссылку на сам объект. но вы даже не захватываете объект, который нужно удалить из самого списка. вы захватываете этот объект из olvMatrs, который является другим списком объектов. мое лучшее предположение из информации, которую вы поделили, состоит в том, что именно поэтому она не работает, если вы посмотрите глубже, что вы пытаетесь удалить объект, которого нет в списке, поэтому ничего не удаляется. это непростая ошибка. я знаю только потому, что я сделал это еще до того, как научился очень осторожно относиться к этому.
«но это не работает» не помогает. Сообщение об ошибке? Ожидаемый фактический результат? ...и т.д. – ken2k
нет сообщения об ошибке, просто ничего не произошло, когда я нажму кнопку :( –
Rev дал хороший ответ. Вы должны отметить это как ответ на свой вопрос. – Grammarian