Te enseño un ejemplo que acabo de realizar (esto debido a qué nunca había usado ese control).
Supongamos que tenemos 2 CheckedListBox (checkedListBox1, checkedListBox2), con los mismos items ordenados de igual forma, entonces en el evento de mi primer checkBoxList (checkedListBox1_ItemCheck), coloque lo siguiente:
private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
switch (e.Index)
{
//Mi primer item.
case 0:
//Si el nuevo valor es Checked, es decir si la casilla la está seleccionando.
if (e
.NewValue == CheckState
.Checked) {
checkedListBox2.SetItemCheckState(e.Index, e.NewValue); //Copio el valor de mi casilla a mi siguiente checkListBox, en tú caso puedes redireccionar el Index por el que tú necesites.
}
break;
//Mi segundo item.
case 1:
break;
//Mi tercer item.
case 2:
break;
}
}
Saludos, espero te sirva.