1

我正在制作一个带有清单框的winform。我想将检查列表框的选中项目存储在数组列表中。我的检查列表框中有 5 个项目,我想处理itemcheck事件。

如果我检查一个项目itemcheck事件触发但项目计数再次保持为 0 如果我检查事件处理程序中的 2 个项目,如果我在下次计数变为 2 时重复此过程,则项目计数变为 1(但现在我检查了 3 个项目)。

请帮助我下面的代码是我正在使用的代码片段:

 private void CLB_Course_ItemCheck(object sender, ItemCheckEventArgs e)
        {            
            List<string> items = new List<string>();            
            foreach (string ItemsChecked in CLB_Course.CheckedItems)
            {
                items.Add(ItemsChecked);
            }
        }
4

2 回答 2

1

正如 Mitja 链接到的问题中所解释的那样,CheckedListBox 并不是那么好。

如果你想要一个检查项目的列表,你可以考虑使用 aListView代替,它有一个CheckBoxes属性,你可以设置它true以获得与 a 相同的行为CheckedListBox,但具有ItemChecked的附加功能,因为该事件实际上存在于 ListView 控件中。

在您的事件侦听器中,您可以使用e.Item属性(从 ItemCheckedEventArgs)获取选中的项目,或者使用 ListViewCheckedIndicesCheckedItems属性获取所有选中的项目。

于 2012-04-25T16:48:34.207 回答
0

发生这种情况是因为当项目即将更改其检查状态时引发该事件。直到事件发生后该值才会更新

于 2012-04-25T16:54:51.977 回答