This class is used by the ListView and the CheckedListBox to encapsulate the data for the ItemCheck event, which is raised when one of the items is about to be checked or unchecked. Note that it occurs before the item is checked. You can retrieve the Index of the item to be changed, and the CurrentValue . You can also get or set the NewValue to which it will be changed, perhaps changing it if the circumstances demand. public class ItemCheckEventArgs : EventArgs { // Public Constructors public ItemCheckEventArgs (int index , CheckState newCheckValue , CheckState currentValue ); // Public Instance Properties public CheckState CurrentValue {get; } public int Index {get; } public CheckState NewValue {set; get; } } HierarchySystem.Object System.EventArgs ItemCheckEventArgs Passed ToCheckedListBox.OnItemCheck() , ItemCheckEventHandler.{BeginInvoke() , Invoke()} , ListView.OnItemCheck() |