У меня есть элемент управления Listview в приложении C#, заполненный некоторыми именами и флажками, чтобы выбрать одно или несколько значений. Помимо нажатия на флажки, пользователь может также щелкнуть по имени, и он станет синим. Я хочу сохранить эту функциональность, так как щелчок по названию показывает еще несколько данных и щелчок на флажках маркирует ее для дальнейшей обработки.Проверенные элементы в C# Listview
Я полагал, что нажатие на изменения флажка свойство Item.Checked и щелчок по имени Изменения Item.Selected, но кажется быть не так просто.
У меня есть код, который подсчитывает проверил деталь:
private void Listview1_ItemChecked(object sender, ItemCheckedEventArgs e)
{
foreach(ListViewItem Item in ListView1.Items)
{
if (Item != null)
{
if (Item.Checked == true) N++;
}
}
Textbox1.Text = N.ToString();
}
Когда пользователь щелкает флажки Существует правильное число Потазывает, но когда он щелкает имя, проверенное количество изменяется в 1, даже если есть все еще больше флажков проверяются, что, очевидно, неверно. Также, когда форма и управляющая нагрузка, я получаю свой N = 1, даже если флажок не установлен.
Что я делаю неправильно?
Редактировать: Спасибо за быстрый ответ и полезные подсказки!
И я только что обнаружил, что моя проблема была в моей небрежности, поскольку я забыл удалить старый код! :) Сначала я использовал множественный выбор, чтобы забрать вещи, то я переключился на флажки, но по-прежнему звал SelectionChanged события и изменение содержимого текстового поля
Где N инициализируется? В коде события N не возвращается к 0, чтобы возобновить подсчет. – dutzu
Надеюсь, что N не 1 b4 u r попадает в петлю :) – Igoy
@Yogendra: Пожалуйста, используйте правильное написание. Мы здесь не в чате. –