One thing I think causes the problem is that you are checking against the size of checkedListBox1.Items and you are trying to get the Name attribute of checkedListBox1.CheckedItems, which are not guaranteed to be of the same size and thus it terminates with this error.
Index out of bounds, exception means that the index you passed to fetch the value was not in the pool of index, which is starting from 0 and goes to 1 less than the number of elements;
in list of 10 elements, valid index numbers are 0-9. You need to change it to something like this,
for (int j = 0; j < checkedListBox1.CheckedItems.Count; ++j)
This would work, because the iteration will be done based on only the elements that are in CheckedItems list. You might also want to consider using,
foreach
structure.
foreach (var checkedItem in checkedListBox1.CheckedItems)
{
string name = checkedItem["Name"].ToString();
MessageBox.Show(name);
..
This will also help in many cases, to overcome the exception.