Кажется, что когда CheckBox каждого ListViewItem добавляется в ListView, он изначально устанавливается как непроверенный, что вызывает событие ItemChecked.
В вашем случае CheckBox затем устанавливается как проверенный, чтобы соответствовать IT.Checked = true;
, который снова запускает событие.
Это, кажется, разработано, и я не думаю, что есть метод остановкиэти события запускаются при загрузке.
Один из обходных путей (хотя и немного хакерский) заключается в проверке свойства FocusedItem объекта ListView, поскольку оно равно нулю до тех пор, пока ListView не будет загружен.и после этого сохраняет ссылку на ListItem.
void listView1_ItemChecked(object sender, ItemCheckedEventArgs e)
{
if (listView1.FocusedItem != null)
{
//Do something
}
}
Надеюсь, это поможет.