Mit dieser Funktion lassen sich ausgewählte zusammenhängende CheckedListBoxItems finden.
Als Return Wert bekommt man eine Liste von zusammenhängenden Indexen.
private List<int> getRelatedCheckboxItems(CheckedListBox chkBox)
{
List<int> lstRelated = new List<int>();
int checkedIndexA = 0;
int checkedIndexB = 0;
foreach (var itemA in chkBox.CheckedItems)
{
checkedIndexA = chkBox.Items.IndexOf(itemA);
foreach (var itemB in chkBox.CheckedItems)
{
if (itemA == itemB)
continue;
checkedIndexB = chkBox.Items.IndexOf(itemB);
if (checkedIndexA + 1 == checkedIndexB)
{
if (!lstRelated.Contains(checkedIndexA))
lstRelated.Add(checkedIndexA);
if (!lstRelated.Contains(checkedIndexB))
lstRelated.Add(checkedIndexB);
break;
}
}
}
return lstRelated;
}
Kommentare zum Snippet